当前位置: 首页 > 面试题库 >

NameError:未定义全局名称

黄磊
2023-03-14
问题内容

我在Mac OS X上使用Python 2.6.1。

我有两个简单的Python文件(如下),但是当我运行时

python update_url.py

我在终端上:

Traceback (most recent call last):
  File "update_urls.py", line 7, in <module>
    main()
  File "update_urls.py", line 4, in main
    db = SqliteDBzz()
NameError: global name 'SqliteDBzz' is not defined

我尝试以不同的方式重命名文件和类,这就是为什么两端有x和z的原因。;)

文件sqlitedbx.py

class SqliteDBzz:
    connection = ''
    curser = ''

    def connect(self):
        print "foo"

    def find_or_create(self, table, column, value):
        print "baar"

文件update_url.py

import sqlitedbx

def main():
    db = SqliteDBzz()
    db.connect

if __name__ == "__main__":
    main()

问题答案:

您需要做:

import sqlitedbx

def main():
    db = sqlitedbx.SqliteDBzz()
    db.connect()

if __name__ == "__main__":
    main()


 类似资料:
  • 问题内容: 我发现有关滚动条的这段代码工作正常。 我尝试在我的代码中使用它,如下所示: 但是,当我运行上述代码时,插入行出现错误。 顺便说一句,我试图找到文档,而effbot的链接是我最近的链接,但仍然无法理解是什么错误。 问题答案: ,和都驻留在名称空间中。因此,需要通过以下方式来对他们进行资格鉴定: 或者,您可以根据需要显式导入它们:

  • 问题内容: 运行python程序时出现错误: 游戏从这里开始。 是什么导致此错误? 问题答案: 您正在尝试使用Python 3运行Python 2代码库。在Python 3中已重命名为。 而是使用Python 2运行游戏。不要试图将它移植,除非你知道自己在做什么,很可能会出现超越更多的问题与。 作为记录,您看到的不是语法错误,而是运行时异常。 如果您确实知道自己在做什么,并且正在积极地使Pytho

  • 问题内容: 我正在尝试使用一个名为bidi的Python包。在此程序包(algorithm.py)中的模块中,尽管它是程序包的一部分,但仍有一些行会给我带来错误。 以下是这些行: 这是错误消息: 我应该如何重新编写代码的这一部分,使其可以在Python3中使用?另外,如果有人在Python 3中使用了bidi软件包,请让我知道他们是否发现了类似的问题。我感谢您的帮助。 问题答案: Python 3

  • 我试图使用一个名为Bidi的Python包。在这个包(algorithm.py)中的一个模块中,有一些行给我错误,尽管它是包的一部分。 以下是台词: 下面是错误消息: 我应该如何重新编写代码的这一部分,使其在Python3中工作?另外,如果有人将bidi软件包与Python3一起使用,请告诉我他们是否发现了类似的问题。我感谢你的帮助。

  • 问题内容: 我在自学Python,只是在“探索”。Google说datetime是一个全局变量,但是当我尝试在终端中查找今天的日期时,我在问题标题中收到NameError吗? 问题答案: 您需要先导入模块: 之后,它可以工作:

  • 问题内容: 我有以下代码,并在尝试运行它时收到以下错误消息: 我试图让Raspberry Pi在端口17上收到输入时运行HTML脚本: 问题答案: Python的布尔常量是大写的:与以大写字母和分别。 小写变体只是变量的有效免费名称,因此您可以将它们用于任何所需的变量,例如(不建议使用; P)。