我正在用Python编写游戏,并且已经到了需要一种方法来保存玩家进度的地步。当玩家退出游戏时,我想让脚本创建一个文本文件并写几行(用于存储stat变量和房间号)。但我还需要它来检查该文件是否在启动时退出,如果是,则将存储的值应用于相应的变量。有人可以帮忙吗?
答案 0 :(得分:4)
这里有两个不同的问题:
第一个问题更容易解决,因为它更通用。这里有几个不错的选择:一个是使用Python的ConfigParser
类用于Windows .ini
- 就像配置文件一样。或者,您可以使用pickle
简单地转储某种配置/设置数据结构(可能是嵌套的dict)。然后是内置的SQLite绑定。还有其他选择 - 这一切都取决于您想要的复杂程度。
第二个问题更具体到您的应用程序。您可以尝试在启动时打开配置文件,如果它在那里,请阅读其内容。稍后,您可以定期将设置/进度存储到其中。建议:始终将完整的设置保持在一致的数据结构中 - 即使您在阅读时只有部分设置在配置文件中(由于某种原因) ,具有您设置的默认值。
答案 1 :(得分:0)
import os
if os.path.exists('yourplayerfile'):
with open('yourplayerfile') as f:
# work with f
with open('yourplayerfile','a') as f:
# update f
这是你必须使用的大纲。
答案 2 :(得分:0)
我建议你保存在sqlite或类似的东西......但我不明白你的问题在哪里?保存文件还是读取文件?
try:
f=open('/tmp/workfile', 'w')
# i find file
except:
#there is no file
<open file '/tmp/workfile', mode 'w' at 80a0960>