Python 导入在运行时生成的词典

Python 导入在运行时生成的词典,python,Python,我的代码结构如下: main.py utils.py blah.py main模块使用argparse读取配置yaml文件的位置,然后将该文件作为字典加载。是否有方法让utils和blah导入此内置词典 编辑:我尝试从主导入配置中使用(配置是我构建的字典),但我得到ImportError:无法从“main”导入名称“config” Edit2:Main导入其他两个模块-很抱歉省略了这个非常重要的细节我建议创建另一个文件,例如,globals.py。在main、utils和blah中导入此项,并

我的代码结构如下:

main.py
utils.py
blah.py
main
模块使用argparse读取配置yaml文件的位置,然后将该文件作为字典加载。是否有方法让
utils
blah
导入此内置词典

编辑:我尝试从主导入配置中使用
(配置是我构建的字典),但我得到
ImportError:无法从“main”导入名称“config”


Edit2:Main导入其他两个模块-很抱歉省略了这个非常重要的细节

我建议创建另一个文件,例如,
globals.py
。在
main
utils
blah
中导入此项,并将其中的属性设置为可由其他模块调用。例如:

globals.py

main.py

utils.py

所有模块都将能够看到相同的
全局变量
实例,从而允许您在整个程序中使用有效的全局变量



您只需将
配置
保存为
main.py
中的gobal变量,并将
utils.py
blah.py
导入
.main
,但为此指定一个模块比让其他模块导入主模块更干净、更清晰。

我建议创建另一个文件,比如,
globals.py
。在
main
utils
blah
中导入此项,并将其中的属性设置为可由其他模块调用。例如:

globals.py

main.py

utils.py

所有模块都将能够看到相同的
全局变量
实例,从而允许您在整个程序中使用有效的全局变量


您只需将
配置
保存为
main.py
中的gobal变量,并将
utils.py
blah.py
导入
.main
,但为此指定一个模块比让其他模块导入主模块更干净、更清晰。

只需这样做即可

import main
并将其用作

main.dictionary
那就够了

就这么做吧

import main
并将其用作

main.dictionary

那就够了

为什么不能导入main
?显然,如果没有在
main
的全局范围内完成配置,那么运行解析器并获取配置。main是否导入其他模块?如果是这样,那么他们就不能导入main,因为这是循环导入。您可以根据需要将字典传递给
utils
blah
,或者在每个模块中有一个单独的模块,例如
other
加载字典和
从other导入我的dict
。为什么您不能
导入main
?显然,如果没有在
main
的全局范围内完成配置,那么运行解析器并获取配置。main是否导入其他模块?如果是这样,那么他们就不能导入main,因为这是循环导入。您可以根据需要将字典传递给
utils
blah
,或者在每个模块中使用一个单独的模块,例如
other
模块加载字典并从other导入我的dict。
main.dictionary