關於pexpect的使用

使用python自動化運維書,其中一個例子是免祕鑰scp文件。

源代碼:

import pexpect
child = pexpect.spawn('scp  data [email protected]:~')
child.expect('password:')
child.sendline('118530')

使用腳本執行一直不能傳輸文件成功,後來通過日誌查詢,程序沒有執行完畢,加上pexcept.EOF(指向緩存區底部,無匹配項)完美解決問題,附修改後代碼:

import pexpect
child = pexpect.spawn('scp  data [email protected]:~')
fout = file('mylog.log','w')  <==記錄日誌
child.logfile = fout
try:
    child.expect('(yes/no)?')
    child.sendline('yes\r')
    child.expect('password:')
    child.sendline('118530')
except Exception,e:
    print e
child.expect(pexpect.EOF)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章