可以使用communicate()
方法来获取Popen
对象的标准输出和标准错误输出。communicate()
方法会等待子进程执行完毕,并返回一个包含标准输出和标准错误输出的元组。下面是一个示例代码:
import subprocess
# 执行一个命令
process = subprocess.Popen(['ls', '-l'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
# 等待子进程执行完毕并获取标准输出和标准错误输出
output, error = process.communicate()
# 打印标准输出和标准错误输出
print("Standard Output:", output.decode())
print("Standard Error:", error.decode())
在这个示例中,我们使用Popen
执行了ls -l
命令,并通过communicate()
方法获取了命令的标准输出和标准错误输出。最后,我们将输出内容打印出来。