无法在父文件夹中执行脚本

时间:2012-03-16 03:27:49

标签: python

我正在尝试执行/调用驻留在另一个目录中的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'未被识别为内部或外部命令,可操作   程序或批处理文件

2 个答案:

答案 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'有点不赞成,建议在执行系统级命令时使用子进程模块。