链接多个python脚本以一个接一个地运行

mil*_*117 4 python sequential

我有三个 python 脚本。一个从数据库(data_for_report.py)收集数据,另一个从该数据和创建者 .xlsx 文件(report_gen.py)生成报告,最后一个修改该 excel 文件的样式(excel_style.py)。

现在所有三个文件都在同一目录中,我现在所做的只是在解释器中一个接一个地执行脚本以获取报告。我想一键完成所有工作,以便需要此报告的人可以自己完成。我想用 pyinstaller 创建一个 exe,但我想不出一种方法将我的脚本链接在一起,以便在data_for_report.py结束时开始工作report_gen.py等等。

我试着把

subprocess.call("report_gen.py", shell=True)
Run Code Online (Sandbox Code Playgroud)

在第一个脚本结束时,但没有任何反应,我只是得到了这个:

出[2]:1

我怎么能这样做?

小智 5

实际上,这个问题可以通过使用批处理编程来解决。您的python 文件将分批运行,即一个接一个地运行。我假设您的所有三个 python 文件都驻留在ReportGenerator带有 Path 的文件夹中,C:\ReportGenerator因此相应地调整系统的 PATH(请注意包含 python 文件的文件夹的 PATH 中的 \ 和 /)。

您的文件是需要执行的:

data_for_report.py
report_gen.py
excel_style.py
Run Code Online (Sandbox Code Playgroud)

现在打开一个记事本文件并写下以下几行。

cd C:/ReportGenerator
python data_for_report.py
python report_gen.py
python excel_style.py
PAUSE
Run Code Online (Sandbox Code Playgroud)

现在将此文件保存file_Name.bat在系统中您想要的任何位置并记住它。保存后,将在保存时形成批处理文件图标。现在打开窗口命令提示符,只需将此批处理文件拖到窗口命令提示符即可。