鉴于您描述的代码,此错误可能出于三个原因出现:
python
不在您的PATH
, 或
secondary.py
不在您当前的工作目录中。
Argument
不在您当前的工作目录中。
从您编辑的问题来看,这听起来像是三个问题中的最后一个,这意味着该问题可能与此无关system
……但是让我们看看如何解决所有三个问题。
首先,您想要一条通向python
正在运行的相同路径primary.py
,这就是sys.executable
目的。
然后你想要一条通往secondary.py
. 不幸的是,对于这个,没有办法(在 Python 2.3 中)可以保证工作......但在许多 POSIX 系统上,在许多情况下,sys.argv\[0\]
这将是一个绝对路径primary.py
,所以你可以使用dirname
和join
outos.path
将其转换为的绝对路径secondary.py
。
然后,假设Argument
在脚本目录中,为此做同样的事情:
my_dir = os.path.dirname(sys.argv[0])
os.system('%s %s %s' % (sys.executable,
os.path.join(my_dir, 'secondary.py'),
os.path.join(my_dir, 'Argument')))