温馨提示×

python subprocess如何捕获输出

小樊
82
2024-11-16 16:01:42
栏目: 编程语言

在Python中,你可以使用subprocess模块来运行外部命令并捕获其输出

import subprocess

# 运行外部命令并捕获stdout和stderr
completed_process = subprocess.run(["echo", "Hello, World!"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)

# 打印捕获到的输出
print("stdout:", completed_process.stdout)
print("stderr:", completed_process.stderr)

# 获取返回码
return_code = completed_process.returncode
print("Return code:", return_code)

在这个例子中,我们使用subprocess.run()函数来运行一个简单的echo命令。我们将stdoutstderr参数设置为subprocess.PIPE,以便捕获命令的输出。text=True参数表示我们希望以文本形式接收输出,而不是字节形式。

subprocess.run()函数返回一个CompletedProcess对象,它包含以下属性:

  • stdout:命令的标准输出
  • stderr:命令的标准错误
  • returncode:命令的返回码

你可以使用这些属性来捕获和处理命令的输出。

0