假设我开发了一个库,它位于文件lib.py
中。然后有人使用它:
from lib import A, B
A('hey why dont you give me x, y, and z?')
B(x, y, z)
我要做的是启用x
,y
,z
变量,就像在执行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)
它看起来不漂亮,但是除非有很多变量要导入,否则可以接受。有什么办法解决吗?