我一直想弄清楚如何调用第二个脚本并使之运行,然后再继续执行当前的脚本。
我有我的第一个脚本(file1.py),该脚本定义了一个称为PATH_DATA的字符串。 第二个脚本(file2.py)使用以下命令导入PATH_DATA:
from file1 import PATH_DATA
然后运行一些功能并将数据输出到新的文件路径。 然后,第一个脚本应继续,定义新的文件路径PATH_DATA_2。
我目前正在尝试使用以下方法来实现此目的:
exec(open('file2.py').read())
在大多数情况下都可以正常工作。问题在于整个脚本(file1)似乎一直运行两次,而不是一次。有解决办法吗?还是让我达到最终结果的更好方法? (我正在使用Python 3)。
谢谢!
答案 0 :(得分:1)
如果您要继续使用当前的工作流程,则将任何具有副作用的东西包装在file1中,然后定义要导入的变量。
PATH_DATA = "your/path"
if __name__ == "__main__":
print("do stuff with side effects")
导入file1时不会运行“如果名称等于main”下的内容。
我个人将只是导入一个将功能从file2包装到file1的函数,然后将路径作为参数传递给它。似乎更加明确和简单。