使用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)
时间: 2024-10-01 06:33:11