Python的subprocess模块提供了一种在Python程序中启动新进程的方式,并与它们进行通信的方法。可以使用subprocess模块中的getstatusoutput()函数来获取子进程的输出内容。

getstatusoutput()函数返回一个元组,其中包括两个值:子进程的退出状态码以及子进程的输出内容。输出内容的值是一个字符串,其中包含了子进程打印的所有内容。

以下是一个简单的示例,演示如何使用subprocess模块和getstatusoutput()函数来获取子进程的输出内容:

import subprocess

# 启动子进程,执行shell命令
output = subprocess.getstatusoutput("echo 'Hello, World!'")

# 获取子进程的退出状态码
status = output[0]

# 获取子进程的输出内容
result = output[1]

# 打印输出内容
print(result)

运行上述代码将会打印出子进程输出的内容:

Hello, World!

注意:如果子进程的输出内容很大(比如几千行),则不建议使用getstatusoutput()函数来获取输出内容,因为它会将所有内容都加载到内存中,可能会导致内存不足的问题。此时可以考虑使用subprocess模块中的其他函数来逐行读取子进程的输出内容,或者将输出内容写入一个文件等其他方式来处理。

python-subprocessgetstatusout如何获取子进程的print内容

原文地址: https://www.cveoy.top/t/topic/nb4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录