__init__.py中的Python模块变量

时间:2017-10-11 12:16:54

标签: python python-2.7 python-3.x

我创建了一个带有一个函数(read_file)的模块,该函数读取文件并在一个dict(DATA)中添加数据。

目标是在其他模块中到处都可以访问dict(DATA),但只需要调用函数read_file。我需要这个模块兼容python2和Python3

树是:

Config\
    __init__.py
    config.py
OtherModule\
    __init__.py
    module1.py
    module2.py

代码是:

 Config
 ==== __init__.py ====
 from config.config import read_file
 DATA = dict()

 ==== config.py ====
 import config
 def read_file(param):
    ....
    config.DATA = (depend of param)

OtherModule
==== module1.py =====
import config
config.read_file(param)

==== module2.py =====
import config
print(config.DATA) -> Empty
import module2
print(config.DATA) -> NotEmpty

问题是为什么这在python3中工作得很好但是它在python2中总是空的?

我知道我可以传递另一个模块,比如config.varaible.DATA,但我不想这样做。有可能吗?

我使用的是python2.7 et python 3.6

0 个答案:

没有答案