代码之家  ›  专栏  ›  技术社区  ›  John

使用python计算gzip文件中的行数

  •  0
  • John  · 技术社区  · 6 年前

    我在计算gz档案中的行数。每个gz只有一个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))
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Dmitry Kovriga    6 年前

    您正在迭代所有字符,而不是行。可以按以下方式迭代行

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