Python在不同文件脚本中共享全局字典
你好。我正在尝试在 functions.py
中使用在 main.py
中创建的一个全局 dict
(字典)。
在我的 main.py 中,我有:
import sys,os,...
import functions.py #import my second file
matrix = {}
matrix_do_something
search_the_matrix(value) #which is defined in functions.py
#FILE: functions.py
def search_the_matrix(value):
global matrix
if value in matrix:
return True
else:
return False
但是我遇到了这个错误:
NameError: global name 'matrix' is not defined
我在 stackoverflow 上看到一个解决方案,建议把所有内容放在一个全局文件中,然后在每个文件中用 global.matrix[value] 来调用,但我不想这样。我只想直接调用它,称它为我的全局矩阵。这样做可以吗?谢谢!
1 个回答
4
在functions.py文件中,你需要把它导入进来。
from main import matrix
不过我觉得给我的模块起个比“main”更好的名字会更好。
如果你想让一个对象在某个模块或文件中可用,你要么在那个地方创建它,要么从其他地方导入它。