优雅地从另一个模块注入全局变量

时间:2019-03-01 21:13:15

标签: python python-3.x global-variables python-import python-module

假设我开发了一个库,它位于文件lib.py中。然后有人使用它:

from lib import A, B
A('hey why dont you give me x, y, and z?')
B(x, y, z)

我要做的是启用xyz变量,就像在执行A之后将它们置于全局范围一样。

由于A在另一个模块中,因此它具有it's own private symbol table,因此更改globals()不起作用。到目前为止,我最好的做法是创建一个shared, config module,如下所示:

from lib import A, B
A('hey why dont you give me x, y, and z?')
from config import x, y, z
B(x, y, z)

它看起来不漂亮,但是除非有很多变量要导入,否则可以接受。有什么办法解决吗?

0 个答案:

没有答案