python操作sqlite3出错
全部代码如下:
#-*- coding: utf-8 -*-
import sqlite3
cx = sqlite3.connect("d:\\test.db")
cx.close()
出错的是cx = sqlite3.connect("d:\\test.db")
出错信息:AttributeError: 'module' object has no attribute 'connect'
请问这是怎么回事?
为这事我今天重装了python,可运行还是显示这个错误。在百度知道上有个网友说可能是文件名的问题,的确重装python之前我第一次测试的文件名是sqlite3.py,但是后来我把这个文件删除了,用了另外的文件名,乃至今天重装后也是用的另外的文件名运行的,可还是出现那个错误。
请各位python高手帮忙看看,到底是怎么回事?先谢谢了!!
[解决办法]
下面把一个假的sqlite3摆到pythonpath取代原来标准模块, 查看sys.modules可以看出...
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys, sqlite3
>>> sqlite3.connect("d:\\test.db")
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
sqlite3.connect("d:\\test.db")
AttributeError: 'module' object has no attribute 'connect'
>>> sys.modules['sqlite3']
<module 'sqlite3' from 'E:\pymodule\sqlite3.pyc'>
>>>
[解决办法]
出错那个目录应该有个sqlite3.py还是sqlite3.pyc,看看是不是被隐藏了...
[解决办法]
呃,跟我说的__pycache__是一个道理
py3是把生成的pyc文件都放在__pycache__里