每次读取Pexpect回声两次

出于某种原因,使用pexpect导致输出回波时的两倍从我的MAC达尔文(10.4)连接到Linux (CentOS 5)发布:程序:---------------------# ! / usr / bin / python#自动scp远程主机# 1:输入文件名#输入2:目标文件夹# 3:输入主机名进口pexpect导入系统,重新ssh_cmd ="ssh"+ sys.argv [3]ssh_handle = pexpect.产卵(ssh_cmd)ssh_handle.日志文件= sys.stdout提示= " \ \ "美元试一试:ssh_handle.expect(提示)ssh_handle.sendline ("scp"+系统.argv[1] + +"罗* * @192.168.1.254:"sys.argv [2])ssh_handle.expect("密码:")ssh_handle.sendline (" ")ssh_handle.expect(提示)除了pexpect.TIMEOUT:ssh_handle.logfile.写("\ n Pexpect超时! ! \ n")sys.exit (1)除了KeyboardInterrupt:ssh_handle.logfile.写("用户中断! \ n \ n")sys.exit (2)ssh_handle.close ()输出:-----------python pexpect_test美元.py replace_line_break.sh / tmp / 10.5.254.18上次登录:2008年9月9日15:45:05星期二从sriram-macbook.dhcp.2wire.comscp replace_line_break美元.上海罗* * @192.168.1.254:/ tmp /scp replace_line_break.上海罗* * @192.168.1.254:/ tmp /罗* * @192.168.1.254的密码:replace_line_break.sh 296 0.3 kb / s 00:00 100%$ $

# 回答1

9月9日下午,里弗斯,"斯Rajan"< rajan.sri…@gmail.comwrote:你好,我也有这个问题.我升级到pexpect 2.3纠正它2.1和改变如下:老:ssh_handle.日志文件= sys.stdout新:ssh_handle.logfile_read = sys.stdout这消除了双只显示的字符显示字符从设备发送.让我知道如果这对你有用.- Darrel

标签: python

添加新评论