开发者

'from sqlite3 import dbapi2 as sqlite3' vs 'import sqlite3'?

开发者 https://www.devze.com 2023-01-17 01:50 出处:网络
When I see the examples for pysqlite, there are two use cases for the SQLite library. from sqlite3 import dbapi2 as sqlite3

When I see the examples for pysqlite, there are two use cases for the SQLite library.

from sqlite3 import dbapi2 as sqlite3

and

import sqlite3

Why there are two ways to support the sqlite3 api? W开发者_JAVA百科hat's the difference between the two? Are they the same? In normal use, which would be preferred.

ADDED

I knew that they are different in terms of namespace, and I wanted ask if they are the same in terms of usage, I mean, do they have the same API set?


They are the same. In the Lib/ directory of my Python installation (v2.6), the sqlite3 package contains a __init__.py file with this:

from dbapi2 import *

Which means that the two ways of importing are absolutely identical.

That said, I definitely recommend just using import sqlite3 - as this is the documented approach.


They are not the same.

In the first case, you are importing the dbapi2 symbol from the sqlite3 module into the current namespace.

In the last case, you just import the sqlite3 module in the namespace.

The difference is that in the first case you can directly use dbapi2 (aliased as sqlite3) class, which in the latter case, you would have to reference to sqlite3.dbapi2 all the time you want to reference it.

See for more information the python documentation

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号