解码Pickle Python的输出

时间:2013-07-31 02:14:56

标签: python pickle

我正在尝试一个小例子,我试图将数据结构转储到文件中,就像我在Data::Dumper的帮助下在Perl中做的那样。以下是我试过的例子

import pickle
ff = open('/Users/arunpotharaju/hell','wb')
favorite_color = { "lion": "yellow", "kitty": "red" }
pickle.dump(favorite_color,ff,0)

以下是文件hell

中的输出
(dp0
S'lion'
p1
S'yellow'
p2
sS'kitty'
p3
S'red'
p4
s.

我正在寻找更多来自Perl的Data::Dumper样式输出,这对调试很有帮助。我可以做得更好吗?

1 个答案:

答案 0 :(得分:2)

在这种情况下,你可以使用json转储你的dict的可读版本:

import json
ff = open('/Users/arunpotharaju/hell','wb')
favorite_color = { "lion": "yellow", "kitty": "red" }
ff.write(json.dumps(favorite_color))

json无法以pickle的工作方式转储复杂的数据结构,但它可以转储dicts,list等。