2
我有一个大的gzip
文件,我想仅使用seek
来读取它的一部分。 关于gzip
文件中使用的seek
,这page说:关于使用gzip文件查找
跳轨()的位置是相对于未压缩的数据,因此 来电者甚至不需要知道数据文件被压缩。
这是否意味着seek
必须读取文件开头的数据并将其解压缩到目标位置?
我有一个大的gzip
文件,我想仅使用seek
来读取它的一部分。 关于gzip
文件中使用的seek
,这page说:关于使用gzip文件查找
跳轨()的位置是相对于未压缩的数据,因此 来电者甚至不需要知道数据文件被压缩。
这是否意味着seek
必须读取文件开头的数据并将其解压缩到目标位置?
是的。 This is the code:
elif self.mode == READ:
if offset < self.offset:
# for negative seek, rewind and do positive seek
self.rewind()
count = offset - self.offset
for i in range(count // 1024):
self.read(1024)
self.read(count % 1024)
Alternatives are discussed here.问题是固有的gzip
格式。