在不写入磁盘的情况下下载和解压缩.zip文件

在不写入磁盘的情况下下载和解压缩.zip文件,第1张

在不写入磁盘的情况下下载和解压缩.zip文件

我的建议是使用一个

StringIO
对象。它们模拟文件,但驻留在内存中。因此,您可以执行以下 *** 作:

# get_zip_data() gets a zip archive containing 'foo.txt', reading 'hey, foo'import zipfilefrom StringIO import StringIOzipdata = StringIO()zipdata.write(get_zip_data())myzipfile = zipfile.ZipFile(zipdata)foofile = myzipfile.open('foo.txt')print foofile.read()# output: "hey, foo"

或更简单地(向Vishal致歉):

myzipfile = zipfile.ZipFile(StringIO(get_zip_data()))for name in myzipfile.namelist():    [ ... ]

在Python 3中,使用BytesIO代替StringIO:

import zipfilefrom io import BytesIOfilebytes = BytesIO(get_zip_data())myzipfile = zipfile.ZipFile(filebytes)for name in myzipfile.namelist():    [ ... ]


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zaji/5646894.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存