使用子进程在命令行中调用python脚本时运行困难

时间:2014-04-19 18:00:26

标签: python subprocess

我正在尝试使用以下方法从另一个脚本运行python脚本:

from subprocess import call

call(['python script.py'])

但我收到以下错误:

  

OSError:[Errno 2]没有这样的文件或目录

这些文件都在同一目录中。请帮助。

2 个答案:

答案 0 :(得分:1)

pythonscript.py指定为分开的项目:

call(['python', 'script.py'])

答案 1 :(得分:1)

如果父脚本是从另一个目录运行的,那么您需要一种方法来查找脚本的存储位置:

#!/usr/bin/env python
import os
import sys
from subprocess import check_call

script_dir = os.path.dirname(sys.argv[0])
check_call([sys.executable or 'python', os.path.join(script_dir, 'script.py')])

另见How to properly determine current script directory in Python?