有没有办法让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
现在可以查找ZipExtFile:
https://bugs.python.org/issue22908https://github.com/python/cpython/commit/066df4fd454d6ff9be66e80b2a65995b10af174f
无法对所有zip文件执行此操作。DEFLATE是一种流压缩算法,这意味着如果不先解压缩所有文件,就无法解压缩文件的任意部分。它可以对已存储的文件实现,但这样一来,您就会处于一个不利的位置,即有些条目是可查找的,而另一些条目则不可查找
相关问题 更多 >
编程相关推荐