在继续第一个脚本之前运行第二个 python 脚本



我一直在试图弄清楚如何调用第二个脚本并让它运行,然后再继续我当前的脚本。

我有我的第一个脚本 (file1.py(,它定义了一个名为 PATH_DATA 的字符串。 第二个脚本 (file2.py( 使用以下方式导入PATH_DATA:

from file1 import PATH_DATA

然后运行一些函数并将数据输出到新的文件路径。 然后第一个脚本应继续,PATH_DATA_2定义新的文件路径。

我目前正在尝试使用以下方法实现这一目标:

exec(open('file2.py').read())

在大多数情况下工作正常。问题是整个脚本(file1(似乎一直运行两次,而不是一次。有解决这个问题的方法吗?还是让我实现最终结果的更好方法?(我使用的是Python 3(。

谢谢!

如果要继续使用当前工作流,请在 file1 中包装任何具有副作用的内容,如下所示,并定义要导入到其外部的变量。

PATH_DATA = "your/path"
if __name__ == "__main__":
print("do stuff with side effects")

导入 file1 时,"如果名称等于主"下的内容不会运行。

我个人只会导入一个函数,该函数将功能从 file2 包装到 file1 中,并将其作为参数传递路径。似乎更明确和简单。

最新更新