Python错误:路径未被识别为内部或外部命令,操作程序或批处理文件
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)
来检查一下它是否存在。