我从我的应用程序(GUI)运行子进程。有时,子流程会要求用户输入。 我想知道如何检查子进程是否在等待输入,如果它正在等待,我想打开一个窗口询问此输入,并将值提供给子进程。 我可以处理打开对话框窗口,但我想知道如何检查它是否在等待以及如何为子进程提供输入..
答案 0 :(得分:2)
如果您的子流程输出一些提示,供用户输入数据,例如:
请输入您的姓名:
您可以使用pexpect库等待此提示,然后将数据输入其中。
您可以使用如下代码执行此操作:
child = pexpect.spawn('my-process -v')
child.expect('Please enter your name:')
child.sendline(user_name)
pexpect还支持高级方案的正则表达式和超时。