5

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

from sqlite3 import dbapi2 as sqlite3

import sqlite3

为什么有两种方式支持 sqlite3 api?两者有什么区别?他们是一样的吗?在正常使用中,这将是首选。

添加

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

4

2 回答 2

8

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

from dbapi2 import *

这意味着这两种导入方式是完全一样的。

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

于 2010-09-20T18:26:09.463 回答
2

它们是不相同的。

在第一种情况下,您要将 sqlite3 模块中的 dbapi2 符号导入当前命名空间。

在最后一种情况下,您只需在命名空间中导入 sqlite3 模块。

不同的是,在第一种情况下,您可以直接使用 dbapi2(别名为 sqlite3)类,而在后一种情况下,您必须随时sqlite3.dbapi2引用它。

有关更多信息,请参阅 python文档

于 2010-09-20T18:02:18.673 回答