如何使用python从gzip文件中读取特定行

时间:2019-02-22 13:51:01

标签: python gzip readline linecache

我有一个很大的gzip文件(11GB),我想尽可能快地用Python打印我想要的行。我尝试使用linecache.getline()来完成此操作,但是由于自己的函数打开了文件,因此您无法使用gzip来打开文件。

1 个答案:

答案 0 :(得分:0)

linecache希望获得一个文本文件。使用gzip压缩的文件不是是文本文件。做您想做的事情需要两个步骤。 (1)解压缩文件,以便获得文本文件。 (2)在文本文件上使用linecache。您可以在Python中完成这两项操作,但只能一次又一次。

我了解到您希望到达特定行而不必先解压缩整个zipfile。但这不是zipfile压缩的工作方式。压缩数据中不可能有任何内容与文本行的概念相对应。