我有一个用bz2压缩的5.8GB文本文件,我想用下面的简单脚本来计算它的行:
import bz2
import sys
import logging
inputfile = sys.argv[1]
tot_lines = 0
try:
bz_file = bz2.BZ2File(inputfile, "r")
for line in bz_file.readlines():
tot_lines += 1
except IOError as ioe:
logging.error("Failed to read latest probes file. Error message: %s" % str(ioe))
print tot_lines # Prints 333
上述脚本的输出是333,这显然是错误的。当我从Ubuntu命令行运行以下命令时:
$ bzcat inputfile | wc -l
$ 33181407
我打印了Python脚本结束的行并且它不完整但在它断开的位置似乎没有任何特殊字符。 没有错误表明某些事情失败了,这可能是解压缩错误吗?