Python在不同文件脚本中共享全局字典

1 投票
1 回答
2977 浏览
提问于 2025-04-17 17:09

你好。我正在尝试在 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”更好的名字会更好。

如果你想让一个对象在某个模块或文件中可用,你要么在那个地方创建它,要么从其他地方导入它。

撰写回答