使用 Python 静默捕获命令输出
使用 os.system 执行命令时,您可能会遇到想要在不使用 Python 的情况下捕获输出的情况将其显示在屏幕上。操作方法如下:
在 Python 中,os.system 函数执行命令并返回其退出状态。但是,它还会将命令的输出打印到控制台。要以静默方式捕获输出,请改用 subprocess 模块。
使用 os.popen
os.popen 函数可用于执行命令并捕获其输出。它返回一个可用于读取输出的管道对象。例如:
output = os.popen('cat /etc/services').read() print(output)
使用子流程
子流程模块提供了更强大的方式来管理子流程并与子流程交互。以下是如何使用子进程静默捕获命令输出:
import subprocess proc = subprocess.Popen([ 'cat', '/etc/services' ], stdout=subprocess.PIPE, shell=True) (output, err) = proc.communicate() print('program output:', output)
这种方法允许您控制子进程执行的各个方面,例如输入、输出和错误处理。 Communications 方法等待子进程完成并返回一个包含标准输出和标准错误流的元组。
以上是如何在 Python 中静默捕获命令输出?的详细内容。更多信息请关注PHP中文网其他相关文章!