2014-09-07 2 views
3

У меня очень сложный словарь и демпинг, загрузка напрямую с использованием укропных работ. Это относится к этому answer. Но есть небольшая модификация. Мне нужно сохранить это в каком-то файле и прочитать этот файл для последующего использования.Загрузка файла pkl с использованием укропа

Вот часть моего кода:

NWORDSa является словарь, который я сохранил в 'abc.pkl'

pdict1 = dill.dumps(NWORDSa) 
dill.dump_session('abc.pkl') 

Я не знаю, как читать его обратно, чтобы получить оригинальное NWORDSa. Я пробовал:

c = dill.load_session('abc.pkl') 
NWORDS_b= dill.loads(c) 

и (хотел сохранить его в переменной BBN)

with open('abc.pkl', 'rb') as f: 
    pickle.dump(bbn, f) 

Но оба не работают. Есть ли лучший метод?

ответ

3

Вы сбрасываете сеанс, а не сам словарь. Я не знаю, требуется ли сохранение/загрузка сеанса - это зависит от вашей настройки.

Try:

with open(outfile, 'wb') as out_strm: 
    dill.dump(datastruct, out_strm) 

и:

with open(infile, 'rb') as in_strm: 
    datastruct = dill.load(in_strm) 

Если вам необходимо сбросить сеанс, используйте dill.dump_session('session.pkl') до и после dill.load_session('session.pkl').

Смежные вопросы