python - 使用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))
解决方案
您正在遍历所有字符而不是行。您可以通过以下方式迭代行
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))
推荐阅读
- java - Java 流将字符串拆分并收集到 Map
- python - 从 MYSQL 中提取日期之间的数据到 pandas
- java - @SQLResultSetMapping 列未找到问题
- python - 附加到仅引用一个键的 dict 值内的列表
- javascript - 如何使背景轮播图片变小
- javascript - 如何使用 JavaScript 创建和填充 HTML 表格
- python - matplotlib 直方图中“计数”和“观察次数”之间的差异
- microsoft-graph-calendar - 如何从扩展扩展的 ms 图中检索 delta calendarView?
- python - 不明白这个定时while循环属性错误
- node.js - 在 Sequelize NodeJS 中多次在同一字段上连接表的条件?