python - 如果我在 Python 字符串中有一个 zipfile 的内容,我可以在不将其写入文件的情况下解压缩它吗?

标签 python

我已经编写了一些 Python 代码,可以从网络上获取一个 zip 文件并放入一个字符串中:

In [1]: zip_contents[0:5]
Out[1]: 'PK\x03\x04\x14'

我看到有一个 zipfile 库,但我无法在其中找到一个可以传递一堆原始 zip 数据的函数。它似乎想从文件中读取它。

我真的需要将它转储到临时文件中,还是有办法解决?

最佳答案

zipfile.ZipFile 接受任何类似文件的对象,因此您可以使用 StringIO (2.x) 或 BytesIO (3.x ):

try:
  from cStringIO import StringIO
except:
  from StringIO import StringIO
import zipfile

fp = StringIO('PK\x03\x04\x14')
zfp = zipfile.ZipFile(fp, "r")

关于python - 如果我在 Python 字符串中有一个 zipfile 的内容,我可以在不将其写入文件的情况下解压缩它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1313845/

相关文章:

python - 用Python编写csv文件: unwanted commas appear

python - 尝试更新值为列表的字典中的值时出错

python Pandas : Use regex to replace strings with hyperlink

python - 在 Python multiprocessing.Pool 中共享可变全局变量

python - 在Pygame中绘制五边形、六边形

python - 如何在终端中以 'page' 打印带有 html 内容的 python 变量?

python - Pandas :列的指数平滑函数

python - 按组和子组聚合

python - Python 二维直方图

javascript - PHP/Javascript/Python 不重新加载 div