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

Axi*_*iom 2 python database login local-storage

我正在为一群朋友创建一个Skype机器人,我希望能够为基于文本的游戏设置一个有点登录系统,并存储诸如用户名,高分,笔记,朋友列表,消息等信息.

我想把它存储在一个以Skype上人的手柄命名的文本文件中,然而,我想知道是否有更好的方法.比如XML文件.

我想避免使用SQL服务器,而且它们并不像存储密码那样加密也不是什么大问题.(我更喜欢本地文件存储.容易编辑和删除的东西)

我想启用诸如!note和!friends以及!addfriend和!highscore等命令,但我需要一种方法来保存该信息.

提前致谢.:)

tmr*_*lvi 10

你考虑过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"))
Run Code Online (Sandbox Code Playgroud)

有关详细信息,请阅读文档

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

  • 即使`pickle`可以序列化更多的对象,`json`也更安全.如果你可以将所有数据转换成字典和列表,我会使用`json` (2认同)