解码Pickle-Python的输出

解码Pickle-Python的输出,python,pickle,Python,Pickle,我尝试了一个小例子,在这个例子中,我试图将数据结构转储到一个文件中,就像我在Perl中借助data::Dumper所做的那样。下面是我尝试过的例子 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'ye

我尝试了一个小例子,在这个例子中,我试图将数据结构转储到一个文件中,就像我在Perl中借助
data::Dumper
所做的那样。下面是我尝试过的例子

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
风格的输出,这对调试非常有帮助。我能做得更好吗?

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

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

json不能像pickle那样转储复杂的数据结构,但它可以转储dict、list等。

请看这个问题:pickle不是用于调试的——当需要将对象加载回Python时,应该使用它。使用pprint或json进行调试