当前位置: 首页 > 面试题库 >

Python人类可读对象序列化

桂丰
2023-03-14
问题内容

我需要将由列表/字典,元组组成的Python结构存储为人类可读的格式。这个想法就像使用类似于pickle的东西一样,但是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对象序列化为一个字节流,以便将它保存到一个文件、存储到数据库或者通过网络传输它。 解决方案 对于序列化最普遍的做法就是使用 pickle 模块。为了将一个对象保存到一个文件中,可以这样做: import pickle data = ... # Some Python object f = open('somefile', 'wb') pickle.dump(data

  • " Every Saturday since we’ve lived in this apartment, I have awakened at 6:15, poured myself a bowl of cereal, added a quarter-cup of 2% milk, sat on this end of this couch, turned on BBC America, and

  • 我有一个看起来很常见的问题,但到目前为止,我还没有找到一个适合我的解决方案。我想我只是错过了一些小事情,但我已经崩溃了,请求帮助。我正在尝试使用flask和pymongo获得json输出。 以下是控制台中使用print(结果)的对象: 当我试图返回时,我得到了错误: TypeError: ObjectId类型的对象不是JSON可序列化的 类联系人(资源): 我试过bson。json_util建议。

  • 我怎么才能修好这个?我需要用JSON编写响应。一个解决方案是非常赞赏的。

  • 本文向大家介绍Python pickle类库介绍(对象序列化和反序列化),包括了Python pickle类库介绍(对象序列化和反序列化)的使用技巧和注意事项,需要的朋友参考一下 一、pickle pickle模块用来实现python对象的序列化和反序列化。通常地pickle将python对象序列化为二进制流或文件。   python对象与文件之间的序列化和反序列化: 如果要实现python对象和

  • 问题内容: 我有一个对象的一部分,希望将其编码为JSON字符串,看起来像。我不在乎客户端的精度,因此浮点数很好。 有一个好的方法可以将此序列化吗?JSONDecoder不接受Decimal对象,并且事先转换为float会产生错误,这将浪费大量带宽。 问题答案: 子类化如何? 然后像这样使用它: