我正在尝试使用以下代码读取大型bz2文件:
import bz2
file= bz2.BZ2File("20150219.csv.bz2","rb")
print file.read()
file.close()
但是在4525行之后,它会在没有错误消息的情况下停止。 bz2文件要大得多。
如何逐行阅读整个文件?
答案 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