我想知道是否有方法能够从StringIO对象生成Python中的SQLite数据库连接。
我有一个压缩的SQLite3数据库文件,希望使用gzip库对其进行解压并在不创建临时文件的情况下连接到该文件。
我已经查看了sqlite3库源代码,但是似乎filename会完全传递到C代码中。是否有其他SQLite3连接库可以使用文件ID?或者是否有一些方法可以欺骗内置的sqlite3库认为我的StringIO(或其他对象类型)是一个实际的文件?
我想知道是否有方法能够从StringIO对象生成Python中的SQLite数据库连接。
我有一个压缩的SQLite3数据库文件,希望使用gzip库对其进行解压并在不创建临时文件的情况下连接到该文件。
我已经查看了sqlite3库源代码,但是似乎filename会完全传递到C代码中。是否有其他SQLite3连接库可以使用文件ID?或者是否有一些方法可以欺骗内置的sqlite3库认为我的StringIO(或其他对象类型)是一个实际的文件?
file
对象)。:memory:
特殊文件名来避免将文件写入磁盘,然后在完成操作后将其写入磁盘。这也将确保文件大小优化,并且如果大小真的是一个大问题,可以选择不写入例如索引之类的内容。sqlite3.connect(':memory:')
时,它会初始化一个空的数据库。 - horriblyUnpythonicsqlitebck
模块可以实现这个功能,但是看起来 OP 更希望找到一种从几个表中提取数据的方法,这种情况下基本的 select+insert 可能更容易些。 - Krumelur