Hyp*_*nja 4 dictionary pickle python-2.7 dill
我有一个非常复杂的字典和转储,直接使用莳萝作品加载。这是参考这个答案。但是有一点修改。我需要将其保存在某个文件中并读取该文件以供以后使用。
这是我的一段代码:
NWORDSa 是我保存到的字典 'abc.pkl'
pdict1 = dill.dumps(NWORDSa)
dill.dump_session('abc.pkl')
Run Code Online (Sandbox Code Playgroud)
我不知道如何读回原件NWORDSa。我试过了:
c = dill.load_session('abc.pkl')
NWORDS_b= dill.loads(c)
Run Code Online (Sandbox Code Playgroud)
和(希望将其保存在变量bbn中)
with open('abc.pkl', 'rb') as f:
pickle.dump(bbn, f)
Run Code Online (Sandbox Code Playgroud)
但是两者都不起作用。有没有更好的方法?
您正在转储会话,而不是字典本身。我不知道是否还需要保存/加载会话-这取决于您的设置。
尝试:
with open(outfile, 'wb') as out_strm:
dill.dump(datastruct, out_strm)
Run Code Online (Sandbox Code Playgroud)
和:
with open(infile, 'rb') as in_strm:
datastruct = dill.load(in_strm)
Run Code Online (Sandbox Code Playgroud)
如果需要转储会话,请dill.dump_session('session.pkl')在之前和dill.load_session('session.pkl')之后使用。