Accédez à un grand fichier dans une archive zip avec HTML dans un WebView python-webkit sans extraction

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

Question

Je présente mes excuses pour toute confusion du titre de la question. Il est un peu une situation complexe avec des composants qui sont nouveaux pour moi, donc je ne suis pas sûr de la façon de le décrire succinctement.

J'ai des données XML et une image dans une archive (zip dans ce cas, mais pourrait facilement être goudron ou tar.gz) et en utilisant Python, GTK et WebKit, placez l'image dans un webkit.WebView, ainsi quelques-unes des autres données. Le XML est un jeu d'enfant d'accéder sans extraire les fichiers, mais l'image est une autre question.

Je voudrais éviter d'extraire l'image de la hdd avant de le mettre dans le WebView et faire un encodage base64 des données d'image se sent cludgy, d'autant plus que les images pourraient atteindre des dizaines de méga-octets.

En fait, je suis à la recherche d'un moyen de construire un URI vers un fichier stocké dans un fichier conteneur.

J'ai demandé il y a quelques jours en IRC et a été dirigé vers des systèmes de fichiers virtuels. Dans les recherches je fis, j'ai trouvé quelques références à la création d'un VFS à partir d'un fichier zip, mais pas d'exemples ou même beaucoup dans la voie de la documentation sur les systèmes de fichiers virtuels eux-mêmes (gnomevfs, gvfs, gio.) Je peux être à la recherche dans tous les mauvais endroits, cependant.

Était-ce utile?

La solution

Le zipfile dans la bibliothèque standard Python fournit des outils pour créer, lire, écrire, ajouter, et la liste d'un fichier ZIP.

Utilisation ZipFile.read(name[, pwd]) (retourner les octets du fichier nom dans l'archive), vous pouvez appliquer base64.b64encode(s[, altchars]) au contenu. Notez que dans ce processus simple, le décompressé et les versions codées sont stockées dans la mémoire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top