Python 游戏存档文件
我正在用Python写一个游戏,现在到了需要保存玩家进度的阶段。我想让程序在玩家退出游戏时创建一个文本文件,并写入几行内容(用来存储一些状态变量和房间编号)。但是我还需要在启动游戏时检查这个文件是否存在,如果存在的话,就把里面存储的值应用到相应的变量上。有没有人能帮帮我?
3 个回答
0
import os
if os.path.exists('yourplayerfile'):
with open('yourplayerfile') as f:
# work with f
with open('yourplayerfile','a') as f:
# update f
这就是你需要使用的框架。
0
我建议你可以用sqlite或者类似的东西来保存数据……不过我不太明白你到底想问什么?是关于保存文件还是读取文件?
try:
f=open('/tmp/workfile', 'w')
# i find file
except:
#there is no file
<open file '/tmp/workfile', mode 'w' at 80a0960>
... 阅读文档 http://docs.python.org/release/2.5.2/tut/node9.html
4
这里有两个不同的问题:
- 文件里要存什么,以及怎么存
- 什么时候存和什么时候读的逻辑
第一个问题比较简单,因为它更通用。你有几个不错的选择:一个是用Python的 ConfigParser
类来处理Windows的 .ini
配置文件。或者你可以用 pickle
来简单地保存一些配置或设置的数据结构(可能是嵌套的字典)。还有一个内置的SQLite绑定。其他的选择也有,具体要看你想要多复杂的解决方案。
第二个问题更具体,跟你的应用程序有关。你可以在启动时尝试打开配置文件,如果文件存在,就读取里面的内容。之后,你可以定期把设置或进度存进去。给你一个建议:始终保持一个完整的设置在一个一致的数据结构中——即使在读取配置文件时,里面只包含部分设置,也要为你的设置准备默认值。