【发布时间】:2011-11-01 09:55:42
【问题描述】:
我有一个 Python 脚本需要调用同一目录中的另一个 Python 脚本。我这样做了:
from subprocess import call
call('somescript.py')
我收到以下错误:
call('somescript.py')
File "/usr/lib/python2.6/subprocess.py", line 480, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.6/subprocess.py", line 633, in __init__
errread, errwrite)
File "/usr/lib/python2.6/subprocess.py", line 1139, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
我在同一个文件夹中有脚本 somescript.py。我在这里遗漏了什么吗?
【问题讨论】:
-
.在您的PATH中吗? somescript.py 是可执行文件吗? -
你为什么要执行它?为什么不
import呢? -
@wooble 是的。它也在路径中并且也是可执行的。是的。我也可以导入它。但是无论如何都想知道我在这里做错了什么,因为我认为这应该有效。
-
为什么不导入?!原因很多:真正执行,即使已经导入;有
__name__ == '__main__;运行多次。 -
另外:如果它不是 Python 2,并且在同一目录中的其他脚本 - 它不会只是简单地导入。您可能需要将其目录添加到
sys.path,但出于多种原因您可能不想这样做:它们之间的安全性(名称冲突...)。
标签: python subprocess