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

Python中如何在另一脚本访问__name__=='__main__'内的变量?

解决Python导入变量时的ImportError问题

你遇到的错误有两个根源:

  • 变量定义范围问题:sample.py里的变量c是定义在if __name__ == '__main__':代码块内的。当sample.py被作为模块导入时,这个代码块不会执行,因此c根本不会被创建,自然无法被导入。
  • 导入语法错误:test.py里的导入语句写错了,导入Python模块时不需要加上.py后缀,from sample.py import c是错误的写法。

修正后的代码

sample.py

调整变量定义的位置,把a、b、c放到if __name__ == '__main__':块外,这样导入时能正常定义这些变量:

#sample.py
a = 10
b = 5
c = a + b

if __name__ == '__main__':
    print(c)

test.py

修正导入语法:

#test.py
from sample import c
d = c
print(d)

补充说明

如果不想把变量都暴露在模块顶层,也可以把计算逻辑封装成函数,在test.py里调用函数获取结果:

另一种写法的sample.py

#sample.py
def calculate_c():
    a = 10
    b = 5
    return a + b

if __name__ == '__main__':
    c = calculate_c()
    print(c)

对应的test.py

#test.py
from sample import calculate_c
d = calculate_c()
print(d)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:02:37