【问题标题】:Problem printing popen stdout from subprocess从子进程打印弹出标准输出时出现问题
【发布时间】:2019-02-24 23:44:09
【问题描述】:

我需要将输出命令放到一个变量中。 我正在尝试这个:

import os
import subprocess

output = subprocess.Popen(["ls", "-l"], stdout=subprocess.PIPE)
print (output.stdout)

output.terminate()

但我明白了

'open file '<fdopen>', mode 'rb' at 0xb76db5a0>'

有什么问题?没事吧?

我使用 python 2.6.6。

【问题讨论】:

标签: python popen python-2.6 fdopen


【解决方案1】:

output.stdout 是一个文件对象。可以使用文件对象的read方法获取输出的内容:

print(output.stdout.read())

或者您可以使用Popen.communicate 方法代替:

stdout, stderr = output.communicate()
print(stdout)

【讨论】:

  • 对不起!我是新手。
猜你喜欢
  • 1970-01-01
  • 2013-06-29
  • 2012-04-26
  • 2012-09-29
  • 1970-01-01
  • 2015-04-08
  • 2014-04-29
  • 2021-02-06
  • 1970-01-01
相关资源
最近更新 更多