【问题标题】:Save python data structure to import later保存python数据结构以供稍后导入
【发布时间】:2014-04-23 06:30:53
【问题描述】:

我的程序创建了一个概率模型,我想将其保存为模块以供以后导入。怎么保存才能直接导入?

Json 对字典有好处,但我有不同的数据结构,Pickle 似乎不允许直接使用importpprint 不打印结构的名称和分配。

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

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)

【问题讨论】:

    标签: python


    【解决方案1】:

    看看pickle 模块。

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

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

    【讨论】:

    • 谢谢,我发现泡菜很有用,但对我来说并不理想。我想要一些在编写时输出 Python 代码的东西(例如 a = "string" 而不是输出 "string")和仍然是人类可读的东西(比如 Json)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多