Python 等待子流程,直到它输出某一行

Python 等待子流程,直到它输出某一行,python,subprocess,Python,Subprocess,我需要在后台作为子进程执行命令行 因此,我使用以下代码进行了操作: import subprocess subprocess.Popen('command line', shell=True) 但是,我应该等待子流程,直到它准备就绪并输出“完成”。然后我想让子进程继续运行,然后运行Python代码的下一行 如何查看子流程的标准输出,并在它打印某一行时转到下一行 请帮忙! 谢谢。使用子流程。使用check=True运行 Python»文档 subprocess.run(args,*,stdin

我需要在后台作为子进程执行命令行

因此,我使用以下代码进行了操作:

import subprocess

subprocess.Popen('command line', shell=True)
但是,我应该等待子流程,直到它准备就绪并输出“完成”。然后我想让子进程继续运行,然后运行Python代码的下一行

如何查看子流程的标准输出,并在它打印某一行时转到下一行

请帮忙!
谢谢。

使用
子流程。使用
check=True运行

Python»文档 subprocess.run(args,*,stdin=None,input=None,stdout=None,stderr=None,shell=False,timeout=None,check=False,encoding=None,errors=None)

运行args描述的命令。等待命令完成,然后返回CompletedProcess实例


使用
子流程。使用
check=True运行

Python»文档 subprocess.run(args,*,stdin=None,input=None,stdout=None,stderr=None,shell=False,timeout=None,check=False,encoding=None,errors=None)

运行args描述的命令。等待命令完成,然后返回CompletedProcess实例


按照@Zondo的建议,我用一个名为
pexpect
的库解决了自己的问题

这真的很简单!如果要执行命令并等待它打印“完成”,则可以按如下方式执行:

import pexpect

child = pexpect.spawn('<command that you want>')
child.expect('Done')
import-pexpect
child=pexpect.spawn(“”)
child.expect('Done'))

按照@Zondo的建议,我用一个名为
pexpect
的库解决了自己的问题

这真的很简单!如果要执行命令并等待它打印“完成”,则可以按如下方式执行:

import pexpect

child = pexpect.spawn('<command that you want>')
child.expect('Done')
import-pexpect
child=pexpect.spawn(“”)
child.expect('Done'))

在PyPI上查找pexpect库。在PyPI上查找pexpect库。