当我看到 pysqlite 的示例时,SQLite 库有两个用例。
from sqlite3 import dbapi2 as sqlite3
和
import sqlite3
为什么有两种方式支持 sqlite3 api?两者有什么区别?他们是一样的吗?在正常使用中,这将是首选。
添加
我知道它们在命名空间方面是不同的,我想问一下它们在使用方面是否相同,我的意思是,它们是否具有相同的 API 集?
他们是一样的。在Lib/
我的 Python 安装目录 (v2.6) 中,该sqlite3
包包含一个__init__.py
文件,其中包含:
from dbapi2 import *
这意味着这两种导入方式是完全一样的。
也就是说,我绝对建议只使用import sqlite3
- 因为这是记录在案的方法。
它们是不相同的。
在第一种情况下,您要将 sqlite3 模块中的 dbapi2 符号导入当前命名空间。
在最后一种情况下,您只需在命名空间中导入 sqlite3 模块。
不同的是,在第一种情况下,您可以直接使用 dbapi2(别名为 sqlite3)类,而在后一种情况下,您必须随时sqlite3.dbapi2
引用它。
有关更多信息,请参阅 python文档