【问题标题】:Access a large file in a zip archive with HTML in a python-webkit WebView without extracting在 python-webkit WebView 中使用 HTML 访问 zip 存档中的大文件,而无需提取
【发布时间】:2009-08-07 07:48:55
【问题描述】:

对于问题标题造成的任何混淆,我深表歉意。这是一种复杂的情况,组件对我来说是新的,所以我不确定如何简洁地描述它。

我在存档中有一些 xml 数据和图像(在本例中为 zip,但很容易是 tar 或 tar.gz)并使用 python、gtk 和 webkit,将图像放在 webkit.WebView 中,以及其他一些数据。 xml 无需提取文件即可轻松访问,但图像是另一个问题。

我想避免在将图像放入 WebView 之前将图像提取到硬盘并且对图像数据进行 base64 编码感觉很麻烦,尤其是因为图像可能达到数十兆字节。

基本上,我正在寻找一种方法来构造存储在容器文件中的文件的 URI。

几天前我在 IRC 中询问并被定向到虚拟文件系统。在我执行的搜索中,我发现了一些关于从 zip 文件创建 vfs 的参考资料,但没有任何示例,甚至没有太多关于虚拟文件系统本身(gnomeVFS、gvfs、gio)的文档。我可能正在寻找所有然而,错误的地方。

【问题讨论】:

    标签: python zip gzip tar virtualfilesystem


    【解决方案1】:

    标准 Python 库中的 zipfile 模块提供了创建、读取、写入、附加和列出 ZIP 文件的工具。

    使用ZipFile.read(name[, pwd])(返回存档中文件名的字节), 您可以将base64.b64encode(s[, altchars]) 应用于内容。请注意,在这个简单的过程中,解压缩的编码版本都存储在内存中。

    【讨论】:

    • 谢谢,但我试图避免使用 base64 编码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多