我有一个大gzip
文件,我想只阅读部分内容seek
.关于seek
on gzip
文件的使用,这个页面说:
seek()位置与未压缩数据相关,因此调用者甚至不需要知道数据文件是否已压缩.
这是否意味着seek
必须从文件开头读取和解压缩数据到目标位置?
是.这是代码:
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)
这里讨论替代方案.问题是gzip
格式固有的.