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

时间:2018-06-28 10:19:59

标签: python-3.x pandas

我一直想弄清楚如何调用第二个脚本并使之运行,然后再继续执行当前的脚本。

我有我的第一个脚本(file1.py),该脚本定义了一个称为PATH_DATA的字符串。 第二个脚本(file2.py)使用以下命令导入PATH_DATA:

from file1 import PATH_DATA

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

我目前正在尝试使用以下方法来实现此目的:

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

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

谢谢!

1 个答案:

答案 0 :(得分:1)

如果您要继续使用当前的工作流程,则将任何具有副作用的东西包装在file1中,然后定义要导入的变量。

PATH_DATA = "your/path"

if __name__ == "__main__":
    print("do stuff with side effects")

导入file1时不会运行“如果名称等于main”下的内容。

我个人将只是导入一个将功能从file2包装到file1的函数,然后将路径作为参数传递给它。似乎更加明确和简单。