【问题标题】:python how to know if subprocess is waiting for inputpython如何知道子进程是否正在等待输入
【发布时间】:2014-10-05 12:58:53
【问题描述】:

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

【问题讨论】:

    标签: python subprocess


    【解决方案1】:

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

    请输入您的姓名:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-06
      • 2013-08-09
      相关资源
      最近更新 更多