Python AttributeError:“模块"对象没有属性“连接"

2022-01-24 00:00:00 python connection sqlite

I'm trying to create a program with sqlite3 database using Ubuntu (Xubuntu 14.04) and the pre-installed version of Python. I tried if the first lines are working but there is already an error. I installed "python-sqlite" and "sqlite3". Can anyone help?

import sqlite3 

connection = sqlite3.connect('test.db')
cursor = connection.cursor()

cursor.execute('CREATE TABLE test ( id INTEGER, first INTEGER, second TEXT, third TEXT, other INTEGER)')

connection.commit()

The output is:

user@device:~/folder$ python sqlite3.py 
Traceback (most recent call last):
File "sqlite3.py", line 1, in <module>
import sqlite3 
File "/home/michael/ownCloud/sqlite3.py", line 3, in <module>
connection = sqlite3.connect('test.db')
AttributeError: 'module' object has no attribute 'connect'

Thank's in advance!

解决方案

The error message shows you've named a file sqlite3.py:

/home/michael/ownCloud/sqlite3.py"

which masks the standard module of the same name. Your sqlite3.py does not define connect, hence the error. The solution is to rename your file to something else.

As Jim Raynor points out, importing sqlite3 will also create a .pyc file in /home/michael/ownCloud/ which would also have to be deleted before the sqlite3 module in the standard lib can be found.

相关文章