Lad*_*lav 1 python pickle namedtuple
我正在尝试namedtuple像这样腌制:
def f():
TemplateData = namedtuple('TemplateData', ['field1', 'field2'])
f1 = np.random.randn(50,50)
f2 = np.random.randn(50,50)
td = TemplateData(f1, f2)
return td
data = f()
with open("aaaa.pkl", "wb") as fl:
pkl.dump(data, fl)
Run Code Online (Sandbox Code Playgroud)
但这由于错误而崩溃:
def f():
TemplateData = namedtuple('TemplateData', ['field1', 'field2'])
f1 = np.random.randn(50,50)
f2 = np.random.randn(50,50)
td = TemplateData(f1, f2)
return td
data = f()
with open("aaaa.pkl", "wb") as fl:
pkl.dump(data, fl)
Run Code Online (Sandbox Code Playgroud)
怎么了?如果pickle不是存储命名元组的最佳方式 - 最有效的方式是什么?
您需要在函数之外定义 namedtuple,并将您的 namedtuple 的名称更改为TemplateData.
TemplateData = namedtuple('TemplateData', ['field1', 'field2'])
f1 = np.random.randn(50,50)
f2 = np.random.randn(50,50)
model_cluster = TemplateData(f1, f2)
with open("aaaa.pkl", "wb") as fl:
pkl.dump(model_clusters_dict, fl)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
830 次 |
| 最近记录: |