如何让一个Python文件运行另一个?
我怎么让一个Python文件去运行另一个Python文件呢?
比如说,我有两个 .py 文件。我想先运行一个文件,然后让它去运行另一个 .py 文件。
8 个回答
49
我使用了subprocess.call,这个和subprocess.Popen差不多。
from subprocess import call
call(["python", "your_file.py"])
81
让一个Python文件运行另一个文件,使用Python 2.7.3和Ubuntu 12.10:
在main.py里放这个:
#!/usr/bin/python import yoursubfile
在yoursubfile.py里放这个:
#!/usr/bin/python print("hello")
运行它:
python main.py
它会打印:
hello
这样main.py
就能运行yoursubfile.py
了。
这个问题有8种回答方式,比较标准的答案可以在这里找到:如何导入其他Python文件?
655
有几种方法可以做到这一点。我会按照不太推荐的顺序列出它们(也就是说,最好的在前,最差的在后):
- 把它当作一个模块来用:
import file
。这样做很好,因为它安全、快速,而且容易维护。代码可以像应该的那样被重复使用。大多数Python库都是通过多种方法在很多文件中运行的。这种方法强烈推荐。注意,如果你的文件叫file.py
,那么在import
的时候 不要加上.py
后缀。 - 臭名昭著(而且不安全)的 exec 命令:不安全、黑科技,通常是错误的选择。尽量避免使用。
- 在Python 2中用
execfile('file.py')
- 在Python 3中用
exec(open('file.py').read())
- 在Python 2中用
- 启动一个shell进程:
os.system('python file.py')
。在非常需要的时候使用。