' {'未被识别为内部或外部命令

时间:2016-04-25 15:09:43

标签: python python-2.7

我是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()

2 个答案:

答案 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)