python - Python 中的 pickle 和 yaml 之间的基本区别是什么?

标签 python python-2.7 serialization yaml pickle

我对 Python 很幼稚。但是,我了解到两者都被用于序列化和反序列化。所以,我只想知道它们之间的所有基本区别是什么?

最佳答案

YAML 是一种语言中立的格式,可以很好地表示原始类型(int、string 等),并且在语言之间具有很高的可移植性。有点类似于 JSON、XML 或纯文本文件;只是混合了一些有用的格式约定——事实上,YAML 是 JSON 的超集。

Pickle 格式是 Python 特有的,可以表示各种各样的数据结构和对象,例如Python 列表、集合和字典; Python 类的实例;以及这些的组合,例如对象列表;包含包含列表的字典的对象;等等

所以基本上:

  • YAML 以语言可移植的方式表示简单的数据类型和结构
  • pickle 可以表示复杂的结构,但是以非语言可移植的方式

除此之外还有更多,但您要求的是“基本”差异。

关于python - Python 中的 pickle 和 yaml 之间的基本区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18901729/

相关文章:

python - 按值获取 numpy 数组中前 k 个数字的索引?

python - 在python 3.6.3中安装ggp​​lot

python - 在 OSX 10.9 中安装 lxml

python - 使用 MySQL python 模块插入或更新行是否存在

python-2.7 - 如何使用opencv python检测箭头?

c++ - Boost序列化多个对象

Python 不工作 : ImportError: No module named 'logging'

python - 使用 zlib 解压 Python 请求响应

python - 使用 python 序列化语料库

java - 如何序列化 Mimemessage 实例?