是否可以在 python 终端中一个一个地运行一堆基于 python 的程序?我有许多在 Python 中执行的程序。我想创建一个文件,这样我就可以运行一个 python 文件,它会一个一个地执行该文件中的每个程序。单个文件:some_files.py
\home\something\1.py
\home\something\2.py
\home\something\3.py
\home\something\4.py
是否可以在 python 终端中一个一个地运行一堆基于 python 的程序?我有许多在 Python 中执行的程序。我想创建一个文件,这样我就可以运行一个 python 文件,它会一个一个地执行该文件中的每个程序。单个文件:some_files.py
\home\something\1.py
\home\something\2.py
\home\something\3.py
\home\something\4.py
有两种非常简单的方法可以实现相同的目标,无需使用 python 脚本或 python 终端(我知道这不是你要问的,但这很容易)。
run_all.ipy(.ipy 是 ipython 脚本的扩展名)
%run \home\something\1.py
%run \home\something\2.py
%run \home\something\3.py
%run \home\something\4.py
(在 Windows 上使用批处理文件 (.bat) 代替)
run_all.sh
python \home\something\1.py
python \home\something\2.py
python \home\something\3.py
python \home\something\4.py
我在 Subprocess 模块中使用更简单的方法,
import os
os.chdir('\home\something\')
import subprocess`
subprocess.call(['python','1.py'])
subprocess.call(['python','2.py'])
您可以使用 suprocess 内置库。
import subprocess
prog_max = 10
for i in range(prog_max):
s = subprocess.Popen(['python','%i.py'%i], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, shell=True)
out,_ = s.communicate()