Pickle并不是很好用,而是将数据序列化到一个文件,以便以后可以有效地反序列化它.其他模块(例如PrettyPrint模块)旨在以一种不错的方式打印出Python数据.但是,如果您的目标是以后可以反序列化数据,则可以查看JSON格式及其Python module
>>> import pprint
>>> pp = pprint.PrettyPrinter(indent=4)
>>> pp.pprint(myIndex)
{ '411)': {2173: 1},
'augmented': {1350: 1},
'format-free': {720: 1},
'function,': {485: 1, 831: 1, 1579: 1},
'incorporating': {2047: 1},
'understand': {2396: 1}}
>>> import json
>>> output = json.dumps(myIndex,sort_keys=True,indent=4, separators=(',', ': '))
>>> print(output)
{
"411)": {
"2173": 1
},
"augmented": {
"1350": 1
},
"format-free": {
"720": 1
},
"function,": {
"485": 1,
"831": 1,
"1579": 1
},
"incorporating": {
"2047": 1
},
"understand": {
"2396": 1
}
}
>>> myRecoveredIndex = json.loads(output)
>>> list(myRecoveredIndex.keys())
['format-free', 'incorporating', 'function,', 'understand', 'augmented', '411)']
>>>
如果建议的格式确实很重要,则可以根据自己的格式编写文件.这是关于如何做的建议:
with open("myfile.txt", "w") as fstream:
for key, data in myIndex.items():
fstream.write("'{}': {!s}
".format(key, data))