【发布时间】:2014-10-05 12:58:53
【问题描述】:
我正在从我的应用程序 (GUI) 运行子进程。有时,子进程会要求用户输入。 我想知道如何检查子进程是否正在等待输入,如果它正在等待,我想打开一个窗口询问此输入,并将值提供给子进程。 我可以处理打开对话窗口,但我想知道如何检查它是否正在等待以及如何向子进程提供输入..
【问题讨论】:
标签: python subprocess
我正在从我的应用程序 (GUI) 运行子进程。有时,子进程会要求用户输入。 我想知道如何检查子进程是否正在等待输入,如果它正在等待,我想打开一个窗口询问此输入,并将值提供给子进程。 我可以处理打开对话窗口,但我想知道如何检查它是否正在等待以及如何向子进程提供输入..
【问题讨论】:
标签: python subprocess
如果您的子流程输出一些提示让用户输入数据,例如:
请输入您的姓名:
您可以使用pexpect 库等待此提示,然后将您的数据输入其中。
您可以使用如下代码执行此操作:
child = pexpect.spawn('my-process -v')
child.expect('Please enter your name:')
child.sendline(user_name)
pexpect 还支持高级场景的正则表达式和超时。
【讨论】: