是否可以在一个zip文件中创建一个可以在Python中查找的文件,而无需将其读入内存?
我尝试了明显的程序,但由于文件不可搜索,我收到错误:
In [74]: inputZipFile = zipfile.ZipFile("linear_g_LAN2A_F_3keV_1MeV_30_small.zip", 'r')
In [76]: inputCSVFile = inputZipFile.open(inputZipFile.namelist()[0], 'r')
In [77]: inputCSVFile
Out[77]: <zipfile.ZipExtFile at 0x102f5fad0>
In [78]: inputCSVFile.se
inputCSVFile.seek inputCSVFile.seekable
In [78]: inputCSVFile.seek(0)
---------------------------------------------------------------------------
UnsupportedOperation Traceback (most recent call last)
<ipython-input-78-f1f9795b3d55> in <module>()
----> 1 inputCSVFile.seek(0)
UnsupportedOperation: seek
答案 0 :(得分:9)
所有zip文件都无法执行此操作。 DEFLATE是一种流压缩算法,这意味着没有解压缩文件的任意部分而不解压缩之前的所有内容。 可能可能已经存储了已经存储的文件,但是你会处于不利的位置,其中一些条目是可以搜索的,而其他条目则不是。
答案 1 :(得分:1)