我正在尝试执行/调用驻留在另一个目录中的python脚本。
我的问题:当我尝试打开/调用文件时出现错误
'..'未被识别为可操作的内部或外部命令 程序或批处理文件
我执行python文件的python代码是:
os.system("../test.py abc")
我也尝试了这个但是我在字符串的不同部分得到了相同的错误:
os.system(os.getcwd()+"/../test.py abc")
# results in "c:/users/jim/work products/python/testdir/../test.py abc"
错误:
'c:/ users / jim / work'未被识别为内部或外部命令,可操作 程序或批处理文件
答案 0 :(得分:0)
.py文件不是可执行文件,因此无法在Windows上运行。你必须用python.exe运行它:
import subprocess
import sys
subprocess.call([sys.executable, '../test.py', 'abc'])
您可以使用系统执行此操作,但我认为这更容易,因为您不必引用文件名。
答案 1 :(得分:0)
在Windows中,您应该使用'.. \\ executeablename'在父目录中运行程序或脚本,而不是'../'unix样式。
并且,为了确保脚本可以运行属性,最好在命令之前添加'python'。
所以我认为这种情况应该是:
os.system("python ..\\test.py abc")
自从我使用linux以来,它还没有经过测试,你可以试试。
BTW,'os.system'有点不赞成,建议在执行系统级命令时使用子进程模块。