5

的输出pickle是非人类可读的,因此不可编辑。

我正在寻找可以做完全相同(或非常接近)pickle 的东西,它可以将所有 python 可理解的对象转储到一个文件中,然后能够直接将其加载回来。

4

3 回答 3

5

不要再看了,去json。json 是一种文本格式,可以轻松编辑。开箱即用,您可以使用它来序列化 Python 内置类型的对象,如列表、字典、字符串等,但也有一些方法可以将您自己的类的对象序列化为 json,请参见此处: 如何制作类 JSON 可序列化

于 2013-03-01T02:00:23.703 回答
3

嗯........我发现这有点适合我。

将对象转储到文件

import pprint
f = open('a.txt', 'w')
pprint.pprint(myobject, f)
f.close()

从文件加载对象

import pprint
f = open('a.txt')
lines = f.read()
myobject = eval(lines)
f.close()
于 2013-03-01T02:47:09.637 回答
1

如果你想拥有泡菜的所有灵活性,我想说最明智的做法是创建一种可以帮助你的特定格式。

我不知道有任何工具可以像 pickle 一样强大,但会生成可编辑的导出数据,但您可以创建自己的。前段时间,我创建了一个玩具模块,该模块将包装一个 Python 模块,以便它可以发送和接收 XML 消息,主要是为了向朋友展示使用 Python 是多么容易:) 这不是要找的,但是可以作为一个起点,所以看看它

(顺便说一句,我很高兴知道其他一些以更好的方式做同样事情的工具。它应该存在,我相信我只是还没有找到它。)

于 2013-03-01T10:53:22.530 回答