我的建议是使用一个
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(): [ ... ]
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)