从python中的gzip文件中读取

Mic*_*ael 44 python gzip python-2.7

我只是在python上制作gzip的消息.

import gzip
f=gzip.open('Onlyfinnaly.log.gz','rb')
file_content=f.read()
print file_content
Run Code Online (Sandbox Code Playgroud)

我在屏幕上没有输出.作为python的初学者,我想知道如果我想在gzip文件中读取文件的内容该怎么办.谢谢.

Mat*_*lan 53

尝试通过像这样的gzip库gzipping一些数据...

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

...然后运行您的代码发布...

import gzip
f=gzip.open('Onlyfinnaly.log.gz','rb')
file_content=f.read()
print file_content
Run Code Online (Sandbox Code Playgroud)

这个方法对我有用,因为某些原因gzip库无法读取某些文件.

  • 在@Arunava的答案中使用`with`就好了,因为即使在阅读时发生错误(或者你忘了它),文件也会被关闭.作为奖励,它也更短. (6认同)

Aru*_*osh 26

python:从压缩文本文件中读取行

使用gzip.GzipFile:

import gzip

with gzip.open('input.gz','r') as fin:        
    for line in fin:        
        print('got line', line)
Run Code Online (Sandbox Code Playgroud)

  • TIL:模式参数 gzip.open 可以是 'r'、'rb'、'a'、'ab'、'w'、'wb'、'x' 或 'xb'(二进制模式)或 'rt '、'at'、'wt' 或 'xt' 用于文本模式。默认值为“rb”。https://docs.python.org/3/library/gzip.html (5认同)

Mic*_*all 20

如果要将内容读取为字符串以文本模式打开文件( mode="rt")

import gzip

with gzip.open("Onlyfinnaly.log.gz", mode="rt") as f:
    file_content = f.read()
    print(file_content)
Run Code Online (Sandbox Code Playgroud)