91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

系統批量運維管理工具pexpect

發布時間:2020-06-16 00:46:57 來源:網絡 閱讀:702 作者:慕容致杰 欄目:軟件技術

1、介紹pexpect

通過pexpect我們可以實現對ssh,ftp,passwd,telnet等命令進行自動交互,不需要人工干預達到自動目的。

2、pexpect的組件介紹

 2.1、spawn類

    作用:啟動和控制子應用程序,其構造函數如下:

class pexpect.spawn(command,args=[],timeout=30,maxread=2000,searchwindowsize=None,logfile=None,cwd=None,env=None,ignore_sighup=True)

其中command是任意已知的系統命令,timeout是等待結果的超時時間,maxread是從終端一次讀取的最大字節數,searchwindowsize是匹配緩沖區字符串的位置。

 注意點:pexpect不會解析shell命令中的元字符(重定向>,管道|,通配符*),不過將存在這三個特殊元字符的命令作為/bin/bash的參數進行調用,可以解決這個問題。比如:

child=pexpect.spawn('/bin/bash -c "ls -l | grep LOG > logs.txt"')

child.expect(pexpect.EOF)

將命令的參數以Python列表形式替換:

shell_cmd = 'ls -l | grep LOG >logs.txt'

child=pexpect.spawn('/bin/bash',['-c',shell_cmd])

child.expect(pexpect.EOF)


調試代碼是,pexpect提供兩種方式可以查看輸入輸出:1>寫入到日志 2>輸出到stdout

  child=pexpect.spawn('some_cmd')

  fout=file('mylog.txt','w')

  child.logfile = fout

或者:child.logfile=sys.stdout

系統批量運維管理工具pexpect

其中expect方法定義了一個子程序輸出的匹配規則:

定義的方法是expect(pattern,timeout=-1,searchwindowsize=-1)

pattern表示字符串、pexpect.EOF(指向緩沖區尾部)、pexpect.TIMEOUT、正則表達式。


send向子程序發送相應命令,相當于標準輸入鍵盤

send(self,s)發送命令,不回車

sendline(self,s='')發送命令,回車

sendcontrol(self,char)發送控制字符,如child.sendcontrol('c')相當于ctrl+c

sendeof()發送eof


2.2>run函數

run是使用pexpect進行封裝的外部命令的函數

run(command,timeout=-1,withexitstatus=False,events=None,extra_args=None,logfile=None,cwd=None,env=None)

import pexpect

pexpect.run('scp filename user@ip:~',events={'(?)password':mypassword})


3、pxssh

pxssh針對ssh會話操作做了一層封裝,提供了更加直接的操作方式

pxssh常用方法:login()建立ssh鏈接,logout()斷開連接,prompt()等待系統提示符,用戶等待命令執行完畢。


系統批量運維管理工具pexpect

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

仲巴县| 杂多县| 中方县| 长岭县| 平果县| 抚顺市| 潞城市| 彭阳县| 湘阴县| 策勒县| 扬中市| 什邡市| 高碑店市| 京山县| 正安县| 西城区| 郎溪县| 龙口市| 云浮市| 嘉鱼县| 南安市| 中超| 盈江县| 诏安县| 和田市| 应用必备| 柘城县| 新昌县| 宁津县| 宜春市| 扎鲁特旗| 光山县| 清苑县| 类乌齐县| 奉贤区| 牟定县| 陕西省| 阳东县| 长宁区| 黔江区| 武邑县|