首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python中简单数据存储的最佳格式

python中简单数据存储的最佳格式
EN

Stack Overflow用户
提问于 2012-06-21 07:59:55
回答 8查看 4.3K关注 0票数 5

作为一名相对较新的程序员,我曾多次遇到从外部源读取和汇编程序数据而不是将其写入代码的情况。当存在大量相同类型的对象时,通常会出现这种情况。在这种情况下,对象定义很快就会占用代码中的大量空间,并给可读性增加不必要的障碍。

例如,我一直在开发基于文本的RPG,它有大量需要跟踪的房间和项目。即使是少量的物品和房间也会导致大量的对象创建代码块。

我认为在这种情况下,使用某种格式的外部数据存储,从文件中读取会更容易。在这样的文件中,项目和房间将按名称和属性存储,以便可以相对容易地将它们解析为对象。

什么样的格式才是最好的?我觉得像SQL这样的成熟数据库会给一个相当轻量级的脚本增加不必要的臃肿。另一方面,通过外部应用程序或另一个python脚本编辑此数据的一种简单方法很重要。在轻松的方面,我听到最常提到的几个是XML、JSON和YAML。

在我看来,XML似乎不是最好的选择,因为许多人似乎发现它很复杂,很难有效地使用。

JSON和YAML似乎都可以工作,但我不知道在外部编辑它们有多容易。在这种情况下,速度不是主要问题。虽然更快的实现当然是可取的,但这不是我可以使用的限制因素。

我在这里和谷歌上都看过了,虽然我在这个话题上看了很多,但我还没有找到任何对我有特别帮助的东西。像JSON或YAML这样的格式就足够了吗,或者使用一个成熟的数据库会更好?

EN

回答 8

Stack Overflow用户

发布于 2012-06-21 08:20:43

虽然这里已经有了很好的答案,但我会简单地推荐JSON作为您的目标,唯一的原因是因为您是一个新程序员,所以它将是最容易阅读和翻译的,因为它具有到原生Python数据类型(列表[]和字典{})的最直接的映射。可读性很有帮助,也是Python编程的原则之一。

票数 5
EN

Stack Overflow用户

发布于 2012-06-21 08:36:46

我非常喜欢使用Python Pickles将数据存储在文件中。

Pickle可以正确序列化任何类型的Python对象,特别是“复杂”的东西--任何类型的Python类、函数--任何类型的对象!

它并不局限于JSON等数据格式中的“列表”、“字典”、“字符串”和“数字”等相对简单的结构。

票数 4
EN

Stack Overflow用户

发布于 2012-06-21 08:15:07

这取决于你的用例。

如果您的文件相对较小且几乎是静态的,则可以使用YAML或JSON。有关更多信息,请查看What is the difference between YAML and JSON? When to prefer one over the other

如果你的文件很大,或者是动态的,或者涉及到一些并发控制,那么你最好让数据库来处理它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11129844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档