如果我有一个Python字符串中的zipfile内容,我可以在不将其写入文件的情况下解压它吗?
我编写了一些Python代码,可以从web获取zip文件并将其转换为字符串:如果我有一个Python字符串中的zipfile内容,我可以在不将其写入文件的情况下解压它吗?,python,Python,我编写了一些Python代码,可以从web获取zip文件并将其转换为字符串: In [1]: zip_contents[0:5] Out[1]: 'PK\x03\x04\x14' 我看到有一个zipfile库,但我很难在其中找到一个只需传递一堆原始zip数据的函数。它似乎想从文件中读取它 我真的需要将其转储到临时文件中吗?或者有办法解决吗?将字符串包装到对象中。它的外观、行为和嘎嘎声都类似于文件对象,但驻留在内存中。zipfile.zipfile接受任何类似文件的对象,因此您可以使用Strin
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")