在Python 3x中使用subprocess.getstatusoutput时出错

时间:2012-12-28 06:53:21

标签: python python-3.x subprocess

当我尝试示例subprocess.getstatusoutput('ls /bin/ls')时,结果是“(1, "'{'未被识别为内部或外部命令,\ noperable程序或批处理文件。”)“,每次我使用{ {1}},我得到了相同的结果,所以任何人都可以告诉我这里的问题是什么,我该如何解决?

1 个答案:

答案 0 :(得分:1)

我无法在Ubuntu上重现它,这有效:

#!/usr/bin/env python3
import subprocess

print(subprocess.getstatusoutput("ls /bin/ls"))

# is similar to 
print(subprocess.check_output("{ ls /bin/ls ; } 2>&1", shell=True))

# you could try this
print(subprocess.check_output(["ls", "/bin/ls"]))

输出

(0, '/bin/ls')
b'/bin/ls\n'
b'/bin/ls\n'

请参阅subprocess.check_output()

subprocess.getstatusoutput()的文档说它只在Unix上可用,因此它可能无法在Windows上运行。