我在计算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))
您正在迭代所有字符,而不是行。可以按以下方式迭代行
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))