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