将subprocess.Popen调用的输出存储为字符串

2024-10-06 14:00:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在Python中进行系统调用,并将输出存储为一个字符串,我可以在Python程序中对其进行操作。

#!/usr/bin/python
import subprocess
p2 = subprocess.Popen("ntpq -p")

我试过一些东西,包括这里的一些建议:

Retrieving the output of subprocess.call()

但是运气不好。


Tags: ofthe字符串import程序outputbinusr
2条回答

这对我重定向stdout有效(stderr可以类似地处理):

from subprocess import Popen, PIPE
pipe = Popen(path, stdout=PIPE)
text = pipe.communicate()[0]

如果对你不起作用,请具体说明你遇到的问题。

假设pwd只是一个例子,那么您可以这样做:

import subprocess

p = subprocess.Popen("pwd", stdout=subprocess.PIPE)
result = p.communicate()[0]
print result

有关another example和更多信息,请参见subprocess documentation

相关问题 更多 >