python如何知道子进程是否在等待输入

时间:2014-10-05 12:58:53

标签: python subprocess

我从我的应用程序(GUI)运行子进程。有时,子流程会要求用户输入。 我想知道如何检查子进程是否在等待输入,如果它正在等待,我想打开一个窗口询问此输入,并将值提供给子进程。 我可以处理打开对话框窗口,但我想知道如何检查它是否在等待以及如何为子进程提供输入..

1 个答案:

答案 0 :(得分:2)

如果您的子流程输出一些提示,供用户输入数据,例如:

  

请输入您的姓名:

您可以使用pexpect库等待此提示,然后将数据输入其中。

您可以使用如下代码执行此操作:

child = pexpect.spawn('my-process -v')
child.expect('Please enter your name:')
child.sendline(user_name) 

pexpect还支持高级方案的正则表达式和超时。