Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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_Python 3.x_Save_Persistence - Fatal编程技术网

用Python方便地保存和加载简单数据

用Python方便地保存和加载简单数据,python,python-3.x,save,persistence,Python,Python 3.x,Save,Persistence,我目前正在开发一个简单的Python3.4.3和Tkinter游戏 我现在很难保存/读取数据,因为我是一个编码新手 我现在所做的是使用.txt文件来存储数据,但我发现这非常违反直觉,因为保存/读取多行数据需要我有额外的代码来捕获任何换行 跳绳也很可怕 我已经在谷歌上搜索过了,但我要么找到了.txt保存/文件选项,要么太复杂了,无法保存大规模数据 我现在只需要保存一些字符串,并且能够通过键访问它们(如果可能),就像在字典中的键:value一样 你知道有什么文件格式/方法可以帮助我做到这一点吗 另外

我目前正在开发一个简单的Python3.4.3和Tkinter游戏

我现在很难保存/读取数据,因为我是一个编码新手

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

跳绳也很可怕

我已经在谷歌上搜索过了,但我要么找到了.txt保存/文件选项,要么太复杂了,无法保存大规模数据

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

你知道有什么文件格式/方法可以帮助我做到这一点吗


另外:如果可能,应该在Win/iOS/Linux上工作。您可能想试试Redis

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

听起来使用它最好,这是Python-2.6中的一部分+

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}

一种流行的替代方法是,它实际上是json的超集,产生的结果更易于人类阅读

你不确定Redis是否能满足OP的所有需求?我想说Redis在这方面做得太过火了。我已经看过了,它是一个很好的工具,但是对于这个项目来说,它与其他内置选项相比太多了。无论如何,谢谢!:)这似乎是一个很好的解决方案,不幸的是,当我运行代码的前半部分时,它抛出了一个
TypeError:“str”不支持缓冲区接口
oops,是的,很抱歉“binary”模式在python-3中引起了问题,因为它希望
string
s被正确编码。修复方法是删除
b
。将更新answer@xXthruXx,现在应该可以在python3中使用了,你能再试一次吗?效果很好:)谢谢!