Python:运行 来自父脚本的多个脚本,您还可以在其中设置变量值

Python: run multiple scripts from a parent script where you can also set the variable values

我有几个 Python 文件,我想按顺序执行这些文件以获得输出,现在我想自动执行此过程。所以我想要一个父脚本,我可以从中以正确的顺序执行我所有的子脚本。此外,我想执行其中一个文件两次,但使用两个不同的日期变量,并希望将输出存储在两个不同的文件夹中。如何在 Python 中创建这样的父脚本?

例如我想先执行 file1.py 并且日期(file1.py 中的变量)应该是 date1 并且输出应该存储在 dir1 和然后我想再次执行 file1.py 但这次日期应该是 date2 并且输出应该是 dir2。我想执行 file2.py。 我该怎么做?

您可以使用子进程轻松地从另一个 python 脚本 运行 python 脚本。类似于:

import subprocess
subprocess.Popen("script2.py some_argument")

使用子进程时出现问题 - 从中​​获取结果非常烦人(您可以从脚本中打印结果,然后在父文件中获取它们,但仍然如此)。

更好的解决方案 - 将中间结果保存在某些数据库中(例如简单的 SQLite 文件),因此您可以使用主脚本启动子脚本,但从数据库获取参数并将子脚本结果也写入数据库。这很简单,可以解决您的问题 (https://docs.python.org/3/library/sqlite3.html)。

例如,要在SQLite数据库中保存一些变量,你只需要:

import sqlite3

conn = sqlite3.connect("mydatabase.db")
cursor = conn.cursor()

# Create table (no need if it was created before)
cursor.execute("""CREATE TABLE example_table
                  (variable_name, variable_value)
               """)
# Save changes
conn.commit()

# Insert data
cursor.execute("""INSERT INTO example_table
                  VALUES ('some_variable', 'some_value')"""

# Save changes
conn.commit()