我正在尝试构建一个包,我想要的是在导入时,一些代码会解析一组文件中的一些数据,然后我的模块可以使用一些字典。我想知道做这样的事情的最佳方法是什么。谢谢你的帮助。
所以,如果我的包裹是:
Package
__init__.py
*maybe other files*
module1
__init__.py
foo.py
module2
__init__.py
bar.py
我怎么能这样做,以便当我导入Package时,会运行一些设置代码来读取一些文件并生成一些字典,然后可以用于foo.py或bar.py等。
答案 0 :(得分:1)
# run.py File where you are trying to display variable from other "global" module
import imp
def load_module(myglobals, path):
with open(path, 'rb') as f:
return imp.load_source(myglobals, path, f)
filename_path = '/home/turkus/myglobals.py'
module = load_module('myglobals', filename_path)
print module.CONSTANT
# myglobals.py (located in /home/turkus/myglobals.py
CONSTANT = 'something'
然后运行:
python run.py