我在python中遇到内存问题“Python内存错误”。实际上,我尝试使用以下脚本从大.bson
文件中恢复数据:
with open('xxxx.bson','rb') as f:
data = bson.decode_all(f.read())
错误消息:
data = bson.decode_all(f.read())
MemoryError
感谢您提供的任何帮助
答案 0 :(得分:1)
您可以通过切换到decode_file_iter
来减少内存消耗,其中1)需要文件(而不是其内容)作为输入,2)返回生成器。
答案 1 :(得分:0)
我使用此库:https://github.com/bauman/python-bson-streaming
from bsonstream import KeyValueBSONInput
f = open("xxxx.bson", 'rb')
stream = KeyValueBSONInput(fh=f)
for dict_data in stream:
print dict_data
f.close()