'从sqlite3导入dbapi2作为sqlite3'vs'导入sqlite3'?

pro*_*eek 4 python pysqlite

当我看到pysqlite的示例时,SQLite库有两个用例.

from sqlite3 import dbapi2 as sqlite3
Run Code Online (Sandbox Code Playgroud)

import sqlite3
Run Code Online (Sandbox Code Playgroud)

为什么有两种方法可以支持sqlite3 api?这两者有什么区别?它们是一样的吗?在正常使用中,这将是优选的.

添加

我知道它们在命名空间方面有所不同,我想问一下它们在使用方面是否相同,我的意思是,它们是否具有相同的API集?

Eli*_*sky 7

他们是一样的.在Lib/我的Python安装目录(v2.6)中,sqlite3包中包含一个__init__.py文件:

from dbapi2 import *
Run Code Online (Sandbox Code Playgroud)

这意味着两种导入方式完全相同.

也就是说,我绝对建议只使用import sqlite3- 因为这是记录在案的方法.