将数据从一个python文件返回到另一个python文件的最佳方法

Mal*_*ing 5 python

我有一个python脚本,它定义了实验的步骤definition.py,以及另一个执行实验的python脚本execute.py.我想将第一个文件视为数据而不是代码; 执行实验时,会为其创建一个文件夹,definition.py将其移动到该文件夹​​中,并将实验生成的所有数据保存在该文件夹中.

我打算打电话execute.py一样

execute.py -f save_stuff_here -d this_is_the_definition.py
Run Code Online (Sandbox Code Playgroud)

但我不确定实现这一目标的最佳方法是什么.关于stackoverflow的其他问题建议导入定义,但我不认为这对我有用.我无法保证定义在某处PYTHONPATH,也不能保证定义具有相同的名称.我不喜欢它,因为用户应该提供这些信息.

definition.py需要定义一个对象(动作列表),并execute.py需要能够参考的对象.

理想的行为,我想的是,script1.py path/to/script2.py从返回一个值script2.pyscript1.py,这里path/to/script2.py是任意文件.

可以吗?

use*_*ica 2

execfile带有明确字典的文件globals。您可以通过阅读字典来获取文件中定义的任何内容globals。如果您需要 Python 3 兼容性,您可以选择open文件、read内容以及exec它们。