Читать из файла gzip в python

Я только что сделал акцизы из gzip на python.

import gzip
f=gzip.open('Onlyfinnaly.log.gz','rb')
file_content=f.read()
print file_content

И я не получаю вывод на экран. Как новичок в Python, мне интересно, что мне делать, если я хочу прочитать содержимое файла в файле gzip. Спасибо.

 Himanshu16 окт. 2012 г., 13:30
У одного из них есть опечатка. Ваш вопрос имеет Onlyfinnaly, а ваш комментарий имеет Onlyfinally. Код в противном случае прав.
 Blender15 окт. 2012 г., 21:23
Пытатьсяprint open('Onlyfinnaly.log.gz', 'rb').read().decode('zlib'), Если это не сработает, можете ли вы подтвердить, что файл содержит что-то?
 Krumelur16 окт. 2012 г., 12:50
Ваш код выглядит правильно, но имейте в виду, что вы читаете весь файл в строку. Обычно более эффективный способ - читать поток gzip порциями и обрабатывать их по одному.
 Michael15 окт. 2012 г., 21:48
Да, я абсолютно уверен, что есть файл с именем «Onlyfinally.log». И что я пытаюсь сделать, это прочитать содержимое и выбрать некоторые для хранения другого файла. Но получается только пустая строка на экране.

Ответы на вопрос(2)

python: чтение строк из сжатых текстовых файлов

С помощьюgzip.GzipFile:

import gzip

with gzip.open('input.gz','r') as fin:        
    for line in fin:        
        print('got line', line)
Решение Вопроса

как это ...

import gzip
content = "Lots of content here"
f = gzip.open('Onlyfinnaly.log.gz', 'wb')
f.write(content)
f.close()

... затем запустите свой код как опубликовано ...

import gzip
f=gzip.open('Onlyfinnaly.log.gz','rb')
file_content=f.read()
print file_content

Этот метод работал для меня, так как по какой-то причине библиотека gzip не может прочитать некоторые файлы.

 Mark21 янв. 2017 г., 21:46
Это немного предпочтительнее использоватьwith как в ответе @ Arunava, потому что файл будет закрыт, даже если во время чтения произойдет ошибка (или вы забудете об этом). В качестве бонуса он тоже короче.

Ваш ответ на вопрос