write tutorial read python sqlite sqlite3 stringio

tutorial - Conexión SQLite3 desde StringIO(Python)



read fasta python (1)

Me pregunto si alguien sabe cómo generar una conexión a una base de datos SQLite en python desde un objeto StringIO.

Tengo un archivo comprimido de la base de datos SQLite3 y me gustaría descomprimirlo usando la biblioteca gzip y luego conectarme a él sin hacer primero un archivo temporal.

He examinado la fuente de la biblioteca slqite3 , pero parece que el filename se pasa hasta el código C. ¿Hay alguna otra biblioteca de conexión SQLite3 para la que pueda usar una ID de archivo? ¿O hay alguna razón por la que puedo engañar a la biblioteca sqlite3 incorporada para que piense que mi StringIO (u otro tipo de objeto) es un archivo real?


El módulo Python sqlite3 no puede abrir una base de datos desde un número de archivo, y aun así, usar StringIO no le dará un número de archivo (dado que no abre un archivo, simplemente emula el objeto de file Python).

Puede utilizar la :memory: nombre de archivo especial para evitar escribir un archivo en el disco, y luego escribirlo en el disco una vez que haya terminado con él. Esto también asegurará que el archivo esté optimizado para el tamaño, y puede optar por no escribir, por ejemplo, índices si el tamaño es realmente un gran problema.