Как прочитать конкретную строку из файла GZIP с Python - PullRequest
0 голосов
/ 22 февраля 2019

У меня большой файл gzip (11 ГБ), и я хочу как можно быстрее напечатать нужную мне строку с Python.Я пытался сделать это с помощью linecache.getline(), но, поскольку собственная функция открывает файл, вы не можете открыть его с помощью gzip.

1 Ответ

0 голосов
/ 22 февраля 2019

linecache ожидает получить текстовый файл.Файл, сжатый с использованием gzip, представляет собой , а не текстовый файл.Чтобы сделать то, что вы хотите, требуется два шага.(1) Разархивируйте файл, чтобы получить текстовый файл.(2) Используйте linecache в текстовом файле.Вы можете делать обе эти вещи в Python, но только один за другим.

Я понимаю, что вы хотите получить определенную строку без необходимости распаковывать весь zip-файл.Но это не то, как работает сжатие zipfile.В сжатых данных вряд ли найдется что-либо, что соответствует понятию строки текста.

...