【发布时间】:2013-12-03 17:58:16
【问题描述】:
我想知道是否有人知道如何从 StringIO 对象生成与 Python 中的 SQLite 数据库的连接。
我有一个压缩的 SQLite3 数据库文件,我想使用 gzip 库对其进行解压缩,然后在不创建临时文件的情况下连接到它。
我查看了slqite3 库源代码,但看起来filename 一直传递到C 代码中。是否有任何其他 SQLite3 连接库可以使用文件 ID?或者有什么原因我可以欺骗内置的sqlite3 库认为我的 StringIO(或其他一些对象类型)是一个实际文件?
【问题讨论】:
-
解压到内存盘吧?
-
这个的用例是什么?加载一些已经以 sqlite3 格式存在的数据,对其进行一些处理,然后丢弃任何更改?
-
我只需要从压缩的数据库对象中获取几列。之后我将在 python 对象中使用它。
-
那么缺少一个临时文件,那么如何腌制 sqlite3 数据,然后加载它以使用它?如果它是 gzip 压缩的,那么它可能不是来自不断变化的数据源,因此一次性酸洗可能是可行的......(并且可能足够小以至于不需要压缩)
-
我不确定我是否遵循。我不编写和压缩 sqlite 文件,我是从另一个应用程序中获取的。