Python跨文件代码复用问题:导入模块后变量未定义如何解决?
Python导入模块后调用变量报错的解决方法
你遇到的问题是因为导入模块后,变量属于模块的命名空间,不能直接用变量名访问,以下是几种解决方式:
方法1:通过模块名访问变量
在code2.py里修改代码,用模块名.变量名的形式调用:
import code1 b = code1.a + 1 print(b)
方法2:直接导入指定变量
如果只需要用code1里的a变量,可以直接把它导入到当前脚本的命名空间:
from code1 import a b = a + 1 print(b)
方法3:导入模块所有内容(不推荐)
可以一次性导入模块里的所有变量和函数,但这种方式容易引发命名冲突(比如当前脚本里也有同名变量a时会覆盖),所以尽量少用:
from code1 import * b = a + 1 print(b)
额外注意事项
- 确保code1.py和code2.py在同一个文件夹下,不然Python找不到这个模块;如果不在同一路径,需要把code1所在目录添加到Python的
sys.path里。 - 不要给你的脚本起和Python标准库同名的名字(比如不要叫
math.py),否则会覆盖系统模块导致异常。
内容的提问来源于stack exchange,提问作者g2142007 g2142007
相关产品推荐
相关产品推荐

