我正在研究Django项目,但这个问题也可能是Python泛型。也可以接受使用特定Django功能的答案。
我正在尝试将全局变量定义为模块中的dict。我要求其他模块可以访问此变量。困难的部分是,这个全局变量可以在构建时无限期地多次设置/更新许多其他模块。在所有设置/更新之后,可以读取变量以在固定数量的模块中设置一些其他全局变量。我应该如何确保在设置/更新后发生所有读取?
演示代码:
GLOB
setting.py
模块m
:在m / setting.py:
GLOB = dict()
p
,q
和r
)需要更新此变量:在p / config.py:
来自m.setting import GLOB
GLOB [' p'] = 1
在q / config.py:
来自m.setting import GLOB
GLOB [' q'] = 2
在r / config.py:
来自m.setting import GLOB
GLOB [' r'] = 3
a
和z
)需要读取此变量并执行其他操作:在/ config.py:
来自m.setting import GLOB
A_GLOB = [如果GLOB [k]%2],则GLOB中的k为k
在z / config.py:
来自m.setting import GLOB
Z_GLOB = [如果不是GLOB [k]%2,则GL中的k为k]
对于上面的示例,我如何确保A_GLOG
为['p', 'r']
且Z_GLOB
为['q']
?
感谢您的帮助!
答案 0 :(得分:0)
所有允许使用模数%
的整数。模数的结果不是布尔值,也是整数。所以你需要更具体。
A_GLOB = [k for k in GLOB if GLOB[k]%2 != 0] # 1%2 and 3%2 == 1
Z_GLOB = [k for k in GLOB if not GLOB[k]%2 == 0] # 2%2 == 0