以Python方便的方式保存和加载简单数据

时间:2015-08-19 23:38:33

标签: python python-3.x save persistence

我目前正在开发一个简单的Python 3.4.3和Tkinter游戏。

我现在很难保存/读取数据,因为我是编码的初学者。

我现在所做的是使用.txt文件存储我的数据,但我发现这非常违反直觉,因为保存/读取多行数据要求我有额外的代码来捕获任何换行符。

跳过一条线也很可怕。

我用谷歌搜索了它,但我要么找到.txt保存/文件选项,要么是太复杂的保存大规模数据。

我现在只需要保存一些字符串,并且能够通过键访问它们(如果可能),就像在字典键中一样:value。

您知道有哪些文件格式/方法可以帮助我实现这一目标吗?

另外:如果可能,应该在Win / iOS / Linux上运行。

2 个答案:

答案 0 :(得分:2)

听起来好像使用json最适合这个,这是Python-2.6 +中Python Standard library的一部分

import json

data = {'username':'John', 'health':98, 'weapon':'warhammer'}

# serialize the data to user-data.txt
with open('user-data.txt', 'w') as fobj:
    json.dump(data, fobj)

# read the data back in
with open('user-data.txt', 'r') as fobj:
    data = json.load(fobj)

print(data)
# outputs: 
# {u'username': u'John', u'weapon': u'warhammer', u'health': 98}

一个流行的替代方案是yaml,它实际上是json的超集并且产生稍微更人性化的结果。

答案 1 :(得分:0)

您可能想尝试Redis。

http://redis.io/

我不完全确定它能满足你的所有需求,但它可能比平面文件更好。