关于使用Python 2.6的txt文件输入和输出的简单问题

时间:2011-05-28 00:11:16

标签: python variables file-io

这是我在这里发表stackoverflow的第一篇文章,我仍然只是学习Python和编程。我正在研究一些简单的游戏逻辑,我对Python处理文件输入/输出的方式有所了解 我正在尝试做的是,在我的游戏运行时,存储一系列变量(所有数字,整数数据),当游戏结束时,将该信息转储到以后可以读取的txt文件中(同样,数字,整数数据),以便它可以添加到。一个跟踪器,真的。
也许如果你正在玩一些赛车游戏,例如,每次你遇到一个行人,行人+ = 1.然后当你的游戏结束时,在击中23个行人之后,这个数字(以及我希望跟踪的任何其他变量)保存到文本文件。当你再次开始游戏时,它会将数字23重新加载到行人变量中,所以如果你再次击中30次,你最终会得到53次,依此类推。提前谢谢!

2 个答案:

答案 0 :(得分:2)

是否必须是文字?如果没有,我会使用泡菜

http://docs.python.org/library/pickle.html

答案 1 :(得分:0)

有很多方法可以做到这一点。您希望文件是人类可读还是人类可写? (如果你这样做,可以鼓励作弊。)

您可以做的最简单的事情是使用ConfigParser库,它存储简单的数据,就像您在文本文件中描述的那样。类似的东西:

读:

import ConfigParser
config = ConfigParser.ConfigParser()
config.readfp(open('game_data.dat'))
dead_pedestrians = config.getint('JoeUser', 'dead_pedestrians')

写作:

config = ConfigParser.RawConfigParser()
config.add_section('JoeUser')
config.set('JoeUser', 'dead_pedestrians', '15')
with open('game_data.dat', 'wb') as configfile:
    config.write(configfile)

其他选项:如果你不希望它是人类可读的,你可以使用shelve(但是一个知道你正在使用python的聪明用户会发现它很容易阅读。

希望有所帮助!