首页 > 后端开发 > Python教程 > 如何在 Python 中捕获 subprocess.Popen 调用的输出并将其存储为字符串?

如何在 Python 中捕获 subprocess.Popen 调用的输出并将其存储为字符串?

Patricia Arquette
发布: 2024-12-04 19:07:14
原创
328 人浏览过

How Can I Capture and Store the Output of a subprocess.Popen Call as a String in Python?

在字符串中存储 subprocess.Popen 调用的输出

在 Python 编程中,使用 subprocess 模块允许您执行系统调用并捕获他们的输出。本文提供了将 subprocess.Popen 调用的输出存储在字符串变量中的解决方案。

Python 2.7 或 Python 3 的解决方案

Python 提供了 subprocess.check_output () 函数,专门用于将命令的输出捕获到字符串中。只需按如下方式使用即可:

from subprocess import check_output
out = check_output(["ntpq", "-p"])
登录后复制

Python 2.4-2.6 的解决方案

对于 Python 2.4 至 2.6 版本,您可以使用 Popen 的通信方法:

import subprocess
p = subprocess.Popen(["ntpq", "-p"], stdout=subprocess.PIPE)
out, err = p.communicate()
登录后复制

上面代码中的 out 变量包含了想要的输出。

关于命令输入的注意事项

使用 Popen 时,将命令作为字符串列表传递至关重要,如提供的示例所示。这是因为 Popen 不会调用 shell。

以上是如何在 Python 中捕获 subprocess.Popen 调用的输出并将其存储为字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板