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
格式。