0

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

4

1 回答 1

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 上运行。

于 2012-12-28T08:30:02.037 回答