【发布时间】:2014-05-11 02:32:32
【问题描述】:
Linux 上的一些命令需要键盘输入才能完成该过程,尤其是在请求密码或确认是/否时。
我在 python 中发出命令并获得结果没有问题,但是如何自动回答/欺骗子提示的正确答案并从os.system 获取返回码?
【问题讨论】:
标签: input keyboard pipe child-process spoofing
Linux 上的一些命令需要键盘输入才能完成该过程,尤其是在请求密码或确认是/否时。
我在 python 中发出命令并获得结果没有问题,但是如何自动回答/欺骗子提示的正确答案并从os.system 获取返回码?
【问题讨论】:
标签: input keyboard pipe child-process spoofing
您可以考虑使用 pexpect 库,它完全符合您的要求。
import pexpect
>>> child = pexpect.spawn('ssh user@myhost')
>>> child.expect('password:')
>>> child.sendline('123password')
>>> child.expect('Welcome to myhost, user')
>>> print 'successfully authenticated'
【讨论】: