Проблема, с которой я сталкиваюсь, заключается в том, что у меня есть очень большой файл pickle (2.6 Gb), который я пытаюсь открыть, но каждый раз, когда я делаю это, я получаю ошибку памяти. Теперь я понимаю, что я должен был использовать базу данных для хранения всей информации, но ее слишком поздно. Файл pickle содержит даты и текст из записи в Конгрессе США, которая была просканирована из Интернета (заняло около 2 недель для запуска). Есть ли способ получить доступ к информации, которую я сбрасывал в файл pickle, поэтапно, или преобразовать файл pickle в базу данных sql или что-то еще, что я могу открыть без повторного ввода всех данных. Я действительно не хочу тратить еще 2 недели на повторное обследование конгресса и вменение данных в базу данных.
Спасибо за вашу помощь
ИЗМЕНИТЬ *
код для того, как объект маринован:
def save_objects(objects):
with open('objects.pkl', 'wb') as output:
pickle.dump(objects, output, pickle.HIGHEST_PROTOCOL)
def Main():
Links()
file = open("datafile.txt", "w")
objects=[]
with open('links2.txt', 'rb') as infile:
for link in infile:
print link
title,text,date=Get_full_text(link)
article=Doccument(title,date,text)
if text != None:
write_to_text(date,text)
objects.append(article)
save_objects(objects)
Это программа с ошибкой:
def Main():
file= open('objects1.pkl', 'rb')
object = pickle.load(file)