Python:打开一个压缩的SQLite数据库

Python中,是否有一种或多或少的hacky方式来打开压缩的SQLite数据库而无需在某处编写临时文件?

就像是:

import bz2
import sqlite3

dbfile = bz2.BZ2File("/path/to/file.bz2", "wb")
dbconn = sqlite3.connect(dbfile)

cursor = dbconn.cursor()
...

这当然会提出:

ValueError: database parameter must be string or APSW Connection object

谢谢!

解决方法:

底层C库直接使用文件名字符串.因此,没有办法从Python透明地处理它.

code on Github

根据您的操作系统,您可以使用RAM磁盘处理该文件.如果您的sqlite文件比那个大,那么可能是时候切换到另一个DB系统,比如Postgres.

上一篇:Python [de]压缩模块在Linux上是否是线程安全的?在Google App Engine上?


下一篇:如何在Java中更快地解压缩XZ文件?