无法读取大型bz2文件

时间:2015-03-04 09:10:46

标签: python

我正在尝试使用以下代码读取大型bz2文件:

import bz2
file= bz2.BZ2File("20150219.csv.bz2","rb")
print file.read()
file.close()

但是在4525行之后,它会在没有错误消息的情况下停止。 bz2文件要大得多。
如何逐行阅读整个文件?

2 个答案:

答案 0 :(得分:1)

为什么要逐行打印二进制文件?请将它们读取为字节对象:

bs = file.read()

答案 1 :(得分:0)

您的file.read()调用会尝试立即读取整个文件并将其解压缩到内存中。尝试一次读一行:

import bz2

with bz2.BZ2File("20150219.csv.bz2", "r") as file:
    for line in file:
        print line