Python:打开压缩的SQLite数据库

kyn*_*kos 5 python database compression sqlite

在Python中,是否有某种或多或少的方法可以打开压缩的SQLite数据库而不必在某个地方写入临时文件?

就像是:

import bz2
import sqlite3

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

cursor = dbconn.cursor()
...
Run Code Online (Sandbox Code Playgroud)

这当然引起了:

ValueError: database parameter must be string or APSW Connection object
Run Code Online (Sandbox Code Playgroud)

谢谢!

Man*_*anu 7

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

查看Github 上代码

根据您的操作系统,您或许可以使用 RAM 磁盘来处理文件。如果您的 sqlite 文件比那个大,那么可能是时候切换到另一个数据库系统了,比如 Postgres。

  • 谢谢,[PyFilesystem](http://docs.pyfilesystem.org/) 或许可以给我一个跨平台的ramdisk (2认同)