我是Python新手,并关注Google Developers教程。我收到了一个错误 - >的 ' {'运行' python code.py时,不会将其识别为内部或外部命令 。'使用下面的代码。我相信我的PATH变量是为python正确设置的,因为我可以毫无问题地运行其他python代码。有人可以给我一些建议吗?
import os
import sys
import commands
def List(dir):
cmd = 'dir' + dir
print 'about to do this:', cmd
(status, output) = commands.getstatusoutput(cmd)
if status:
sys.stderr.write('there was an error:'+ output)
sys.exit(1)
print output
def main():
List(sys.argv[1])
if __name__ == "__main__":
main()
答案 0 :(得分:1)
命令模块在Windows上不起作用 - 它只是Unix版本。此外,它从版本2.6开始被弃用,并且已在Python 3中删除,因此您应该使用子进程模块。替换这些行:
import commands
(status, output) = commands.getstatusoutput(cmd)
有这样的事情:
import subprocess
output = subprocess.check_output(['dir', dir])
答案 1 :(得分:0)
还关注Google Python课程.. 我的commands.getstatusoutput()替换如下所示:
import subprocess
try:
output = subprocess.check_output(['dir', dir])
except subprocess.CalledProcessError as e:
print "Command error: " + e.output
print "Command output: " + output
sys.exit(e.returncode)