在Python中,最佳的数据存储方式是什么?

6
我正在为一群朋友创建一个Skype机器人,并希望能够拥有一个基于文本的游戏登录系统,以及存储信息,如用户名、高分、笔记、好友列表、消息等。
我打算将这些信息存储在以Skype账号命名的文本文件中,但我想知道是否有更好的方法,例如XML文件。
我想避免使用SQL服务器,因为他们并不会存储密码,所以加密不是很重要。(我更喜欢本地文件存储。一种易于编辑和删除的方式)
我想实现诸如!note、!friends、!addfriend、!highscore等命令,但我需要一种保存信息的方法。

如果我没记错的话,Python仍然带有SQLite,所以你可以使用它。但是,这真的取决于你需要什么。可能需要使用https://github.com/coleifer/peewee。 - Benjamin Gruenbaum
我希望使用一些轻量级的东西(更简单)。例如:XML文件或JSON文件。 - Axiom
1个回答

14

你考虑过pickle吗?它可以将Python对象(任何对象)存储到文件中,这样你就可以加载并使用它们了。

import pickle

# Saving
data = [1,2,3,4]
pickle.dump(data, open("d:/temp/test.pkl","wb"))

# Loading
load = pickle.load(open("d:/temp/test.pkl","rb"))

了解更多信息,请阅读文档

(另一个选项是json模块,它将数据序列化为json格式。它的使用方式类似,但只能保存字典、列表、字符串和整数)


4
尽管“pickle”可以序列化更多的对象,“json”更加安全。如果您能将所有数据转换为字典和列表,我会使用“json”。 - tmrlvi
1
此外,JSON操作是一项更具可转移性的技能,可在许多语言和情境中使用。 - Inyoka

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接