0

当我关闭一个文件对象时,我得到一个返回码 2 而不是“无”。

output = []
    cmd = cmd.lstrip()
    if cmd.startswith('"') == True and cmd.count('"') > 2:
        found = re.search(r'^".*?"', cmd)
        if found != None:
            shortName = win32api.GetShortPathName(found.group(0).replace('"',''))
            cmd = cmd.replace(found.group(0), shortName)

    rc = None
    if debugOutput == False:
        progOutput = os.popen(cmd)
        line = progOutput.readline()
        while (line) != "":
            if capture == True:
                output.append(self.chomp(line))
            if log == True:
                print self.chomp(line)
            line = progOutput.readline()
        rc = progOutput.close()
    else:
        print "Would have executed: %s" % cmd

    if rc == None:
        rc = 0
    if capture == True:
        return rc, output
    else:
        return rc

“rc”的返回码是 2 而不是 none。有人知道python中的错误代码2是什么吗?

4

1 回答 1

0

os.popen的文档:

os.popen(command[, mode[, bufsize]])

...

命令的退出状态(以 为 指定的格式编码wait())可用作close()文件对象的方法的返回值,但退出状态为零(无错误终止)时除外None

所以这个错误代码来自操作系统(“找不到文件”,根据谷歌)。

于 2013-09-24T12:32:07.947 回答