我需要将输出命令放到一个变量上。 我正在尝试这个:
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。
output.stdout
是一个文件对象。可以使用 file 对象的read
方法来获取输出的内容:
print(output.stdout.read())
或者,您可以改用Popen.communicate
方法:
stdout, stderr = output.communicate()
print(stdout)