Sir*_*Lam 6 python shell subprocess
场景是,我有一个 Python 脚本,其中一部分是使用以下代码执行外部程序:
subprocess.run(["someExternalProgram", "some options"], shell=True)
当外部程序完成时,它要求用户“按任意键退出”。
由于这只是我的脚本中的一个步骤,因此代表用户退出对我来说会更好。
是否有可能实现这一目标?如果可以,如何实现?
from subprocess import Popen, PIPE
p = Popen(["someExternalProgram", "some options"], stdin=PIPE, shell=True)
p.communicate(input=b'\n')
Run Code Online (Sandbox Code Playgroud)
如果你想捕获输出和错误日志
from subprocess import Popen, PIPE
p = Popen(["someExternalProgram", "some options"], stdin=PIPE, stdout=PIPE, stderr=PIPE, shell=True)
output, error = p.communicate(input=b'\n')
Run Code Online (Sandbox Code Playgroud)
请记住输入必须是字节对象