使用python自动化运维书,其中一个例子是免秘钥scp文件。
源代码:
import pexpect child = pexpect.spawn(‘scp data root@192.168.146.134:~‘) child.expect(‘password:‘) child.sendline(‘118530‘)
使用脚本执行一直不能传输文件成功,后来通过日志查询,程序没有执行完毕,加上pexcept.EOF(指向缓存区底部,无匹配项)完美解决问题,附修改后代码:
import pexpect child = pexpect.spawn(‘scp data root@192.168.146.134:~‘) 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
原文地址:http://11292743.blog.51cto.com/11282743/1961989