【问题标题】:How to handle NameError in Python如何在 Python 中处理 NameError
【发布时间】:2015-08-12 16:01:33
【问题描述】:

这个错误今天才开始,我不知道如何纠正这种情况。

假设我运行以下脚本:

name = "Bob"

然后在解释器中,我可以输入:

>>> name
'Bob'

但是,如果我的脚本是:

import some_module_I_just_made_up #It's in the same directory as my script
name = "Bob"

然后在解释器中,我得到以下信息:

>>> name
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'name' is not defined

【问题讨论】:

  • 您是否尝试过再次运行您的主脚本(包含导入的那个)?
  • 你能发布你的代码,它实际上会产生这个错误吗?错误代码与您发送的内容不匹配,或者您需要显示some_module_I_just_made_up中的内容@
  • 您是否正在运行包含脚本的已保存文件,然后打开解释器?或者“脚本”是指您在解释器中输入所有这些命令?还是别的什么?

标签: python import module nameerror


【解决方案1】:

您需要从解释器中导入您的脚本。

>>> import myscript

假设myscript 有代码:

import some_module_I_just_made_up
name = "Bob"

然后就可以调用了

>>> myscript.name

并让它输出名称。解释器不知道 name 是什么,直到它位于模块中或在解释器中定义。

如果您只想要 name 变量而不需要其他任何东西,您可以这样做:

>>> from myscript import name
>>> name

【讨论】:

  • 仅仅name 是行不通的。你必须使用myscript.name
  • @Matthias 啊,你是对的。固定答案以反映
猜你喜欢
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2011-05-09
  • 2017-11-15
  • 1970-01-01
  • 2013-01-04
  • 2014-02-01
  • 1970-01-01
相关资源
最近更新 更多