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

导入自定义模块出现Traceback错误:NameError问题咨询

问题分析与解决办法

这是个新手常踩的Python模块导入小坑,我来给你掰扯清楚问题出在哪,以及怎么解决:

错误原因

当你在test.py里执行import call时,你只是把整个call模块加载到了当前代码的命名空间中,但call_name1函数是属于call模块的内部成员,并不是直接暴露在当前全局环境里的。所以你直接写call_name1('kevin')时,Python找不到这个名字,自然就抛出NameError了。

两种解决方式

方式一:通过模块名访问函数

既然函数属于call模块,那我们就通过模块名来调用它,修改test.py的代码如下:

import call
call.call_name1('kevin')

方式二:直接导入特定函数

如果你不想每次调用都写模块名,可以用from ... import ...语法,把特定函数直接导入到当前命名空间:

from call import call_name1
call_name1('kevin')

小提示:也可以用from call import *一次性导入模块里的所有函数,但这种方式不推荐——如果多个模块里有同名函数,很容易引发命名冲突,代码可读性也会变差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 19:37:57