Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有哪些可用的Python模块用于保存和加载数据?_Python_Data Storage_Python Module_Data Persistence - Fatal编程技术网

有哪些可用的Python模块用于保存和加载数据?

有哪些可用的Python模块用于保存和加载数据?,python,data-storage,python-module,data-persistence,Python,Data Storage,Python Module,Data Persistence,关于用于保存和加载数据的Python模块,StackOverflow上有许多分散的帖子 我自己也很熟悉,也听说过。可能还有更多。此外,每个模块似乎都适合某个特定的用途,并有其自身的限制(例如,加载一个带有pickle的大型列表或词典需要花费很长时间(如果可以的话)。因此,对各种可能性有一个恰当的概述将是一件好事 然后,您是否可以帮助提供用于保存和加载数据的模块的全面列表,并为每个模块描述: 模块的一般用途是什么 它的极限, 为什么您会选择此模块而不是其他模块 : 优点: 可以以二进制格式读

关于用于保存和加载数据的Python模块,StackOverflow上有许多分散的帖子

我自己也很熟悉,也听说过。可能还有更多。此外,每个模块似乎都适合某个特定的用途,并有其自身的限制(例如,加载一个带有pickle的大型列表或词典需要花费很长时间(如果可以的话)。因此,对各种可能性有一个恰当的概述将是一件好事

然后,您是否可以帮助提供用于保存和加载数据的模块的全面列表,并为每个模块描述:

  • 模块的一般用途是什么
  • 它的极限,
  • 为什么您会选择此模块而不是其他模块
      • 优点:

        • 可以以二进制格式读取和写入Python值。因此,它比pickle(基于字符)快得多
      • 缺点:

        • 并非所有Python对象类型都受支持。某些不受支持的类型(如内置的子类)将显示为正确封送和解封送
        • 不打算对错误或恶意构造的数据进行保护
        • Python维护人员保留在需要时以向后不兼容的方式修改封送处理格式的权利

      • 优点:

        • 工具架中的值本质上可以是任意Python对象
      • 缺点:

        • 不支持对搁置对象的并发读/写访问

      (由@Duncan建议)

      • 赞成者:

        • 透明持久性
        • 完全事务支持
        • 可插拔存储器
        • 可扩展体系结构
      • 缺点

        • 不是标准库的一部分
        • 除非用于持久化的原始python对象模型可用,否则无法(轻松)重新加载数据(考虑版本困难和数据可移植性)

      标准的lib数据持久化模块有很多

      添加到封送缺点:“Python维护人员保留在需要时以向后不兼容的方式修改封送格式的权利”,您可以添加ZODB()作为第三个选项。优点:透明持久性、完全事务支持、可插拔存储、可扩展体系结构。缺点:不是标准库的一部分。@Duncan补充道,谢谢。顺便说一句,你的声誉很高,可以编辑这篇文章,这不是鼓励你的原因吗:)谢谢你的回答。集体回答肯定是受鼓励的,似乎适合这个问题。另外,请随意添加您对关于json等的赞成和反对意见。如问题中所述,这只会更好地进行比较。这几乎不是一个答案,也不是OP所要求的!请参阅@DonQuestion有一个很好的来源,可以在标准库中找到数据持久化模块的优点和缺点,那么为什么您必须重新编写文档中已经编写的内容呢?要回答一个问题,您必须阅读它。OP暗示他已经研究了一些持久性解决方案,并意识到它们的弱点。他并没有要求提供标准python持久性模块的链接,而是要求提供一些有根据的解决方案建议,以及为什么我们会建议使用pros/contras及其主要用例。我在你的答案和提供的链接中都没有看到这一点。如果你遵循我建议的链接,你会意识到,你的答案是不够的。请始终记住,其他未来用户可能会有类似的问题。