Получите доступ к большому файлу в zip-архиве с HTML в WebView Python-WebKit без распаковки - PullRequest
1 голос
/ 07 августа 2009

Прошу прощения за путаницу в названии вопроса. Это довольно сложная ситуация с компонентами, которые являются новыми для меня, поэтому я не уверен, как описать это кратко.

У меня есть некоторые xml-данные и изображение в архиве (в данном случае zip, но это может быть tar или tar.gz), и с помощью python, gtk и webkit поместите изображение в webkit.WebView вместе с некоторые другие данные. Xml - это детская игра для доступа без извлечения файлов, но изображение является другой проблемой.

Я бы хотел избежать извлечения изображения на жесткий диск, прежде чем помещать его в WebView и выполнять кодирование base64 данных изображения. Это выглядит грязно, тем более что изображения могут потенциально достигать десятков мегабайт.

В основном я ищу способ создания URI для файла, хранящегося в файле контейнера.

Я спросил несколько дней назад в IRC и был направлен на виртуальные файловые системы. В поисках, которые я выполнил, я нашел несколько ссылок на создание vfs из zip-файла, но никаких примеров или даже большого количества документации по самим виртуальным файловым системам (gnomeVFS, gvfs, gio). Я могу искать во всех неправильные места, однако.

1 Ответ

1 голос
/ 07 августа 2009

Модуль zipfile в стандартной библиотеке Python предоставляет инструменты для создания, чтения, записи, добавления и вывода списка файлов ZIP.

Использование ZipFile.read(name[, pwd]) (вернуть байты имени файла в архиве), Вы можете применить base64.b64encode(s[, altchars]) к содержанию. Обратите внимание, что в этом простом процессе распакованные и закодированные версии сохраняются в памяти.

...