【发布时间】:2016-02-10 14:55:20
【问题描述】:
我是 Python 新手。我试图保存我的结果但失败了。谁能帮我更正我的代码?
parameter = k ##(k is an number)
L = [(1,matrix1), (2,matrix2), (2,matrix2),...]
首先我制作一个字典来放置我的结果
My_dict = {'parameter':k, 'my_list': L}
我使用以下代码保存和读取:
import pickle
output = open('result.pkl', 'wb')
pickle.dump(My_dict, output, -1)
output.close()
(我在这里查了字典,到目前为止一切都是正确的)
但是当我尝试读取我的数据时:
pkl_file = open('result.pkl', 'rb')
res = pickle.load(pkl_file)
pprint.pprint(res)
我发现我的L是空的,如下图:
'parameter': k,
'L': []
我的代码哪里出错了?有人可以帮忙吗?
【问题讨论】:
-
您的第一行代码有错字(最后一个冒号在引号内),但您的代码中是这样还是转录错误?编辑现在修复
-
对不起,那个错字现在是正确的。运行代码时没有显示错误信息。空 L 是唯一的问题。
-
感谢您更新,Rosy,但第一行仍会抛出 SyntaxError,因为您将 'my_list' 的值留空,然后在其后包含一个没有键的列表。
-
去掉逗号分隔冒号和变量L
-
谢谢,已删除。但这是我的错字,不是我的问题。
标签: python dictionary pickle