在Python中,可以使用subprocess模块来启动子进程并与其交互。要捕获子进程的标准输出和标准错误流,可以使用subprocess.Popen对象的communicate()方法。该方法返回一个元组,其中第一个元素是子进程的标准输出流,第二个元素是标准错误流。
例如,以下代码演示了如何在Python中捕获子进程的标准输出和标准错误流:
import subprocess
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = process.communicate()
print('stdout:', stdout.decode()) print('stderr:', stderr.decode())
在上述示例中,我们使用subprocess.Popen对象启动了一个子进程,并将其标准输出和标准错误重定向到PIPE。在调用communicate()方法之后,我们可以分别获取子进程的标准输出和标准错误流,并在终端上打印它们。