跨不同文件脚本的Python全局dict

跨不同文件脚本的Python全局dict,python,file,dictionary,global,Python,File,Dictionary,Global,你好。我试图使用在main.py中创建的全局dict,它在functions.py中调用。 在mymain.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

你好。我试图使用在
main.py
中创建的全局
dict
,它在
functions.py
中调用。 在mymain.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
我在上读过一个解决方案,它说把所有东西都放在一个全局文件中,然后从每个文件调用global.matrix[value],但我不想要这个。我只想叫它矩阵,把它当作我的全局矩阵。这可能吗?
提前感谢您

在functions.py中,您必须导入它

from main import matrix
虽然我想给我的模块取一个比main更好的名字


如果您希望某个对象在模块/文件中可用,则需要在该模块/文件中创建该对象或从其他地方导入该对象

在functions.py中,您必须导入它

from main import matrix
虽然我想给我的模块取一个比main更好的名字


如果您希望某个对象在模块/文件中可用,则需要在该模块/文件中创建该对象或从其他地方导入该对象

您是否从
main.py
(在
functions.py
中)导入
matrix
,您
导入功能
谢谢!我现在觉得自己好笨。我想我只能用那个import命令导入函数和文件。每种语言都有自己的全局名称空间概念,所以不用担心。Python具有每个模块的名称空间。模块中的每个函数都在它自己的闭包中。您通常不需要使用
global
关键字谢谢!我现在觉得自己好笨。我想我只能用那个import命令导入函数和文件。每种语言都有自己的全局名称空间概念,所以不用担心。Python具有每个模块的名称空间。模块中的每个函数都在它自己的闭包中。您通常不需要使用
global
关键字