我有一个 bz2 文件(我从未使用过此类文件)。当我手动解压缩它时,我看到它是一个包含多个表的 sqlite 数据库,但我不知道如何从 python 连接到它而无需手动解压缩(我有很多数据库,所以它必须在剧本)。到目前为止,我已经尝试了以下方法,但出现错误。
import bz2
import sqlite3
zipfile = bz2.BZ2File("file.sqlite.bz2")
connection = sqlite3.connect(zipfile.read())
query = "SELECT * FROM sqlite_master WHERE type='table';"
cursor = connection.execute(query)
cursor.fetchall()
[]
但是,当我对解压缩文件执行相同的查询时,我确实得到了所有表。