保存python数据结构以便稍后导入

时间:2014-04-22 22:12:07

标签: python

我的程序创建了一个概率模型,我希望将其保存为稍后导入的模块。如何以可以直接导入的方式保存它?

Json 适用于dicts,但我有不同的数据结构, Pickle 似乎不允许直接使用import pprint < / strong>不会打印结构的名称和分配。

我只想创建一些数据结构:

states = (
    'Bound',
    'Not-bound'
)

Prob = {
    'Bound': 0.45,
    'Not-bound': 0.55
}

某种保存到'py'文件:

with open('model.py', 'wb') as out:
    save(states)
    save(Prob)

然后,直接导入它们:

import model
print(model.states)

1 个答案:

答案 0 :(得分:1)

查看pickle模块。

  

pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议。 “Pickling”是将Python对象层次结构转换为字节流的过程,“unpickling”是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构。

它不会像你想要的那样,但我认为这是一种简单而合理的方式来做你想做的事。