我有一个需要支持Python 2.4和2.6的应用程序。使用2.6,sqlite3取代了sqlite。除了paramstyle
差异之外,还有什么我需要担心的吗?这是一个很好的处理方法吗?
try:
import sqlite3 as sqlite
except ImportError:
import sqlite
...
if sqlite.paramstyle == 'qmark':
query = 'SELECT foo FROM bar where baz = ?'
else:
query = 'SELECT foo FROM bar where baz = %s'
cursor.execute(query, params)
答案 0 :(得分:6)
在python 2.4上,使用pysqlite
package。这是在版本2.5中添加到Python标准库的完全相同的包,当它重命名为sqlite3
时。
由于它是相同的包,因此API没有差异,您只需使用try
except ImportError
测试:
try:
import sqlite3
except ImportError:
from pysqlite2 import dbapi2 as sqlite3