gpt4 book ai didi

python - 更新多个文件中的全局字典

转载 作者:行者123 更新时间:2023-11-30 23:06:12 25 4
gpt4 key购买 nike

我需要更新在多个文件中使用的全局字典并尝试了多个选项,但它不起作用。

# test1.py

cell = {'A' : a,
'B' : b}

# In test2.py

from test1.py import cell
cell['C'] = c # One way
globals().update(cell) # did not work also

# In test3.py

from test1.py import cell
print cell # not getting update cell dictionary

最佳答案

如果当前进程中的test3之前没有导入test2,那么当然cell不会被修改...

bruno@bigb:~/Work/playground/impglob$ cat test1.py
cell = {
'A' : 1,
'B' : 2
}
bruno@bigb:~/Work/playground/impglob$ cat test2.py
from test1 import cell
cell["C"] = 3
bruno@bigb:~/Work/playground/impglob$ cat test3.py
from test1 import cell
print cell
import test2
print cell
bruno@bigb:~/Work/playground/impglob$ python test3.py
{'A': 1, 'B': 2}
{'A': 1, 'C': 3, 'B': 2}
bruno@bigb:~/Work/playground/impglob$

但是模块级全局变量(即可变全局变量)已经很糟糕,最好尽可能避免。 共享全局变量——一个模块中的代码更新另一个模块中的全局变量——是纯粹的邪恶。 IOW:不要这样做。有多种方法可以构建您的代码,这样您就不需要那么困惑。

关于python - 更新多个文件中的全局字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32756880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com