在字符串中存储 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中文网其他相关文章!