可以说我有很多密钥对数据。我希望将此数据放在一个包中,以便可以导入。是否出于性能和可扩展性的原因,有没有办法使模块像字典一样工作?
例:
common/pairs/
├── BUILDINGS.py
└── __init__.py
import BUILDINGS
BUILDINGS["foo"] == "bar"
注意:可以通过在
BUILDINGS
中放置__init__.py
来归档所需的结果,但是它们每次都将被编译,并且不会被拖动和删除,而且看起来很丑。有没有办法做到这一点?有没有办法做到这一点?
最佳答案
并非我建议这样做,但是您可以将dict
分配给sys.modules
。 Python不在乎实际上有一个模块对象。
# BUILDINGS.py
from sys import modules
if __name__ != "__main__":
modules[__name__] = {'a': 1, 'b': 2, ...}