首页 > 解决方案 > 使用python计算gzip文件中的行数

问题描述

我正在尝试计算 gz 存档中的行数。每个 gz 只有 1 个 json 格式的文本文件。但是当我打开档案并计算行数时,计数与我的预期相差甚远。该文件包含 522 行,但我的代码返回 668480 行。

import gzip
f = gzip.open(myfile, 'rb')
file_content = f.read()
for i, l in enumerate(file_content):
    pass
i += 1
print("File {1} contain {0} lines".format(i, myfile))

标签: pythongzip

解决方案


您正在遍历所有字符而不是行。您可以通过以下方式迭代行

import gzip
with gzip.open(myfile, 'rb') as f:
    for i, l in enumerate(f):
        pass
print("File {1} contain {0} lines".format(i + 1, myfile))

推荐阅读