关于pexpect的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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)


本文出自 “11282743” 博客,请务必保留此出处http://11292743.blog.51cto.com/11282743/1961989

以上是关于关于pexpect的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何编译 C 代码并使用 Pexpect 运行编译代码?

使用 Python 在 Linux 上实现一键回归测试

使用 Python 在 Linux 上实现一键回归测试

Windows 中 Pyserial 和 Pexpect 的使用

如何使用 Python pexpect 执行操作系统命令?

pexpect正确的打开方式