You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python导入config.py无法引用变量,多变量场景如何处理?

Python配置文件多变量引用问题解决方案

问题重现

在config.py中定义变量:

# config.py
white = (255,255,255)
black = (0,0,0)
red = (255,0,0)

在main.py中直接引用变量触发NameError:

# main.py
import config
print(white)

报错信息:

Traceback (most recent call last):
  File "C:\...\Test\Test2.py", line 2, in <module>
    print(white)
NameError: name 'white' is not defined

报错原因:导入模块后,变量属于模块的独立命名空间,而非当前脚本的全局命名空间,直接使用变量名无法识别。

多变量场景解决方案

方案1:逐个指定导入变量(推荐)

明确导入需要的变量,可直接在脚本中使用变量名:

# main.py
from config import white, black, red
print(white)
print(black)

方案2:批量导入所有变量(慎用)

一次性导入模块内所有变量,适合变量数量少且无命名冲突的场景:

# main.py
from config import *
print(white)
print(red)

⚠️ 注意:如果当前脚本存在同名变量会被覆盖,大型项目不建议使用该方式。

方案3:保留模块命名空间引用(最安全)

直接通过模块名访问变量,无需额外赋值,多变量场景下逻辑清晰、避免冲突:

# main.py
import config
print(config.white)
print(config.black)

内容的提问来源于stack exchange,提问作者user9060784

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 18:45:47