我需要将由列表/字典、元组组成的 Python 结构存储为人类可读的格式。这个想法就像使用类似于 pickle 的东西。 ,但泡菜对人类不友好。我想到的其他选项是YAML (通过 PyYAML 和 JSON(通过 simplejson )序列化程序。
你想到的还有其他选择吗?
最佳答案
对于简单的情况,我们会想到 pprint() 和 eval()。
使用您的示例:
>>> d = {'age': 27,
... 'name': 'Joe',
... 'numbers': [1,
... 2,
... 3,
... 4,
... 5],
... 'subdict': {
... 'first': 1,
... 'second': 2,
... 'third': 3
... }
... }
>>>
>>> from pprint import pprint
>>> pprint(d)
{'age': 27,
'name': 'Joe',
'numbers': [1, 2, 3, 4, 5],
'subdict': {'first': 1, 'second': 2, 'third': 3}}
>>>
我会三思而后行地使用同一个工具来解决两个需求。您是否考虑过使用 pickle 进行序列化,然后使用 pprint()(或更高级的对象查看器)让人们查看对象?
关于python - 如何以人类可读的格式序列化 Python 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/408866/