导入模块时,我有以下的测试代码:“NameError:名字[模块]没有定义”,在
import sqlite3
class database:
def __init__(self, name):
self.name = name
def connect(name):
db = sqlite3.connect("%s.db" % self.name)
c = db.cursor()
def test(self):
print (3)
如果我跑database('name').test()
,我得到3
,这样的作品。但是,如果我尝试database('name').connect()
,我会得到“NameError:名称'sqlite3'未定义”
类对我来说是比较新的,我仍在试图弄清楚它们是如何工作的。非常感谢您的帮助。
编辑:请参阅答案中的意见解决方案。问题似乎是我在文件和笔记本中都导入了sqlite3。解决方案是仅在文件中导入模块。
这并不说明你的错误,但我认为应该是:'DB = sqlite3.connect( “%s.db” %self.name )' – Johannes
你说得对,谢谢指出 – snapcrack
而你在'connect'方法中缺少'self'参数。应该是:'def connect(self,name):'。 – Johannes