使用 python 计算 gzip 文件中的行数
Counting the number of lines in a gzip file using python
我正在计算 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))
您正在遍历所有字符而不是行。您可以按以下方式迭代行
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))
我正在计算 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))
您正在遍历所有字符而不是行。您可以按以下方式迭代行
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))