跨程序会话保存复杂Python数据结构的最佳方法(pickle,json,xml,database,other)

Mal*_*olm 10 python sqlite json pickle

寻找有关跨程序会话保存复杂Python数据结构的最佳技术的建议.

这是我到目前为止提出的技术列表:

  • 咸菜/ cPickle的
  • JSON
  • jsonpickle
  • XML
  • 数据库(如SQLite)

Pickle是最简单,最快速的技术,但我的理解是,不能保证pickle输出可以在各种版本的Python 2.x/3.x或跨32位和64位的Python实现中运行.

Json仅适用于简单的数据结构.Jsonpickle似乎纠正了这个并且似乎是为了在不同版本的Python中工作.

可以序列化为XML或数据库,但由于我们必须手动进行序列化,因此需要额外的努力.

谢谢你,马尔科姆

Ned*_*der 15

你对泡菜有一种误解:它们保证可以在Python版本中使用.您只需选择您关心的所有Python版本都支持的协议版本.

你遗漏的技术是编组,不能保证在Python版本中工作(顺便说一句,是如何编写.pyc文件).