我为此尝试过期待
这就是我想要做的。
使用scpcopy> 1gig文件复制到网络设备。我为此使用下面的代码。
child = pexpect.spawn(f'scp /folder/images/{image_name} {device_name}:/location:')
child.expect("password:")
child.sendline(pwd)
child.expect(pexpect.EOF)
此代码停留在下一行。
2019-10-17 05:42:51,309 - file_sync.py - INFO - Copying the <imageName> to <Device_name>
它不显示密码提示,似乎一切都在后台静默发生,几秒钟后,我在控制台上看到超时期望错误。
是否有使其互动的方式(类似于子流程)或任何其他可以交互输入密码并在控制台上查看文件传输进度的方法?
child = pexpect.spawn(f'scp /folder/images/{image_name} {device_name}:/location:')
child.expect("password:")
child.sendline(pwd)
child.expect(pexpect.EOF)
默认情况下,pexpect不显示生成的进程的输出。您可以这样写:
child = pexpect.spawn(...)
child.logfile_read = sys.stdout
...