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

问题描述:

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

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

请输入您的姓名:

可以使用pexpect库等待此提示,那么你的数据提供给它。

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

Pexpect的还支持高级场景regexs和超时:

你可以看起来像一个代码做到这一点。