Python错误:路径未被识别为内部或外部命令,操作程序或批处理文件

1 投票
2 回答
744 浏览
提问于 2025-04-18 01:51
import sys
import os
import shutil


def main(argv):
    if len(argv) < 3:
        print("To few arguments")
        return 1
    dir = os.path.dirname(__file__)
    latencyMonitorDir = argv[1]
    feedManagerDir = argv[2]

    if not os.path.exists(dir + r"\Data"):
        os.makedirs(dir + r"\Data")
    if not os.path.exists(dir + r"\Data\Result"):
        os.makedirs(dir + r"\Data\Result")

    scriptCommand = "\"" + dir + "\\script.py\" " + latencyMonitorDir
    os.system(scriptCommand)
    if not os.path.isfile("\"" + dir + "\\Data\\BoostedFeedManager.exe\""):
        shutil.copy(feedManagerDir + r"\BoostedFeedManager.exe", dir + "\Data")

    scriptCommand = "\"" + dir + "\\Data\\BoostedFeedManager.exe\" " + "\"" + dir + "\\Data\\configInstruments.json\""
    print("debug")
    print(scriptCommand)
    os.system(scriptCommand)  # Error
    return 0


if __name__ == "__main__":
    sys.exit(main(sys.argv))

出现了错误:

path is not recognized as an internal or external command, operable program or batch file.

这个错误发生在我没有给路径加上引号的时候,但我其实是加了引号的。错误的位置用“#Error”标记出来了。

2 个回答

0

使用 subprocess.getoutput('cmd')

0

根据文档的说明

在一个子shell中执行命令(一个字符串)。这实际上是通过调用标准C语言的函数system()来实现的,具有相同的限制。对sys.stdin等的更改不会反映在执行命令的环境中。

因为如果出现错误,可能是路径不存在,或者这不是一个有效的命令/程序。可以尝试用 os.path.exist(scriptCommand) 来检查一下它是否存在。

撰写回答