Pergunta

Peço desculpas por qualquer confusão do título da pergunta. É uma espécie de uma situação complexa com componentes que são novas para mim, então eu não tenho certeza de como descrevê-lo de forma sucinta.

Eu tenho alguns dados XML e uma imagem em um arquivo (zip neste caso, mas poderia facilmente ser tar ou tar.gz) e usando python, GTK, e webkit, coloque a imagem em um webkit.WebView, juntamente com alguns dos outros dados. O xml é brincadeira de criança para acesso sem extrair os arquivos, mas a imagem é outra questão.

Eu gostaria de evitar extrair a imagem para o disco rígido antes de colocá-lo no WebView e fazer uma codificação base64 dos dados da imagem se sente cludgy, especialmente desde que as imagens poderiam chegar a dezenas de megabytes.

Basicamente, eu estou procurando uma maneira de construir um URI para um arquivo armazenado dentro de um arquivo contêiner.

Eu perguntei há poucos dias no IRC e foi direcionado para sistemas de arquivos virtuais. Nas buscas realizei eu encontrei algumas referências para a criação de um VFS de um arquivo zip, mas há exemplos ou mesmo muito na forma de documentação sobre os sistemas de arquivos virtuais próprios (GnomeVFS, gvfs, gio.) I podem estar à procura em todo o lugares errados, no entanto.

Foi útil?

Solução

O zipfile módulo na biblioteca padrão do Python fornece ferramentas para criar, ler, gravação, anexar, e lista de um arquivo ZIP.

Usando ZipFile.read(name[, pwd]) (retornar os bytes do arquivo nome no arquivo), você pode aplicar base64.b64encode(s[, altchars]) para o conteúdo. Note-se que neste processo simples, o descompactado e as versões codificadas são armazenadas na memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top