首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python子进程输出重定向

在Python中,您可以使用subprocess库来创建子进程并重定向输出

代码语言:javascript
复制
import subprocess

# 使用 subprocess.run() 运行子进程并捕获输出
result = subprocess.run(["echo", "Hello, World!"], capture_output=True, text=True)

# 打印子进程返回的状态码,标准输出和标准错误
print("Return Code:", result.returncode)
print("Standard Output:", result.stdout)
print("Standard Error:", result.stderr)

此示例使用echo命令创建子进程。capture_output=True选项告诉Python捕获子进程的输出,并将其存储在result对象的stdoutstderr属性中。text=True表示以文本形式(而不是字节串)返回输出。

注意:capture_output=True需要Python 3.7及更高版本。如果您使用的是较早版本的Python,请使用以下代码:

代码语言:javascript
复制
import subprocess

# 使用 subprocess.PIPE 捕获输出
result = subprocess.run(["echo", "Hello, World!"], stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)

# 打印子进程返回的状态码,标准输出和标准错误
print("Return Code:", result.returncode)
print("Standard Output:", result.stdout)
print("Standard Error:", result.stderr)

这将通过设置stdoutstderr参数为subprocess.PIPE来捕获输出。universal_newlines=True功能类似于text=True,它将输出作为字符串返回,而不是字节串。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券