我有一个 python 脚本,它定义了进行实验的步骤 definition.py
,还有另一个 python 脚本,它执行实验 execute.py
。我想将第一个文件视为数据而不是代码;当执行实验时,会为其创建一个文件夹,definition.py
会移至该文件夹中,实验生成的所有数据也会保存在那里。
我打算调用 execute.py
execute.py -f save_stuff_here -d this_is_the_definition.py
但我不确定实现此目标的最佳方法是什么。 stackoverflow 上的其他问题建议导入定义,但我认为这对我不起作用。我不能保证该定义位于 PYTHONPATH
中的某处,也不能保证该定义具有相同的名称。我希望不需要,因为用户应该提供该信息。
definition.py
需要定义单个对象( Action 列表),execute.py
需要能够引用该对象。
我想要的理想行为是 script1.py path/to/script2.py
从 script2.py
返回一个值到 script1.py
,其中 path/to/script2.py
是任意文件。
可以吗?
最佳答案
execfile
带有显式 globals
字典的文件。您可以通过阅读 globals
字典来获取文件中定义的任何内容。如果您需要 Python 3 兼容性,您可以打开
文件,读取
内容,然后执行
它们。
关于python - 将数据从一个 python 文件返回到另一个文件的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584639/