Zugriff auf eine große Datei in einem Zip-Archiv mit HTML in einem Python-webkit WebView ohne zu Extrahieren

StackOverflow https://stackoverflow.com/questions/1243485

Frage

Ich entschuldige mich für die Verwirrung von der Frage Titel. Es ist eine Art einer komplexen Situation mit Komponenten, die mir neu sind, so bin ich nicht sicher, wie es auf den Punkt zu beschreiben.

Ich habe einige XML-Daten und ein Bild in einem Archiv (zip in diesem Fall aber leicht Teer oder tar.gz sein könnte) und mit Python, GTK und Webkit, legen Sie das Bild in einem webkit.WebView, zusammen mit einige der anderen Daten. Die XML ist ein Kinderspiel für den Zugriff, ohne die Dateien zu extrahieren, aber das Bild ist ein anderes Thema.

Ich mag das Bild vermeiden Extrahieren auf die Festplatte, bevor es in der WebView setzen und eine Base64 kodieren des Bildes zu tun Daten cludgy fühlen, vor allem, da die Bilder möglicherweise zig Megabyte erreichen können.

Im Grunde suche ich nach einem Weg, um einen URI in eine Datei in einer Container-Datei gespeichert zu konstruieren.

, fragte ich vor ein paar Tagen in IRC und wurde in Richtung virtuelle Dateisysteme gerichtet. In den Durchsuchungen durchgeführt ich, dass ich ein paar Hinweise auf die Schaffung einer VFS aus einer Zip-Datei gefunden, aber keine Beispiele oder sogar viel in der Art der Dokumentation auf virtuellen Dateisysteme selbst (gnomevfs, gvfs, gio.) Ich habe suchen können alle falsche Stellen, aber.

War es hilfreich?

Lösung

Die zipfile Modul in der Standard-Python-Bibliothek Tools bietet zum Erstellen, Lesen, schreiben, hängt, und eine ZIP-Datei auflisten.

Mit ZipFile.read(name[, pwd]) (Rückkehr der Bytes der Datei Name im Archiv), Sie können base64.b64encode(s[, altchars]) auf den Inhalt an. Beachten Sie, dass in diesem einfachen Prozess, die entpackte und die codierten Versionen im Speicher abgelegt werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top