我在Python3.3中创建了一个基于文本的游戏,用户可以为他们的角色选择一个类。我想让游戏存储三个分数,这样就可以算出平均分了。我的问题是,我不确定如何让程序在文件中搜索名称并删除最旧的分数,保存分数的文件如下所示:
Bennie
33
62
94
Josh
82
55
31
Jackie
10
4
3
我的当前代码,看看他们是否已经做过游戏,如果没有,写在文件中的分数,如果他们有我已经得到的代码,分裂行和阅读他们。它需要删除的分数衣柜到他们的名字和插入和新的分数前一个名字,但我不确定如何做到这一点。这是我现在的代码
^{pr2}$
Tags:
给出一个示例python方法来为文件添加分数(伪代码),根据需要修改以满足您的需要(您的需求不是最有效的方法):
这样使用:
^{pr2}$注意给定的函数将不更改文件它只对给定的文件内容进行操作(作为
text_file
参数)。这是有目的的,因为如果函数本身操纵了文件,它将限制它的使用,因为人们可以在任何方便的瞬间读取或写入整个应用程序的文件。所以这个函数只对字符串起作用。这并不是最有效的方法,例如每个用户可以使用一个文件和一个简单得多的格式,但由于这一点,这个问题的答案仅限于此。在当您完成添加分数和操作文件后,您可以通过将
updated_text
写回文件来更新该文件。(如果文件已经在read
模式下打开,则必须关闭它,然后在write
模式下重新打开)。在要用新内容写入(更新)文件,请使用如下方法:
例如,请参见here for python file I/O operations
为什么不尝试创建一个.ini文件并将数据存储在节下面的属性中。它的框架适合您的需求。它的工作方式有点像xml文件,但是由于您的输入和输出参数是有限的(如您所提到的,3分),它似乎是最好的选择。只需在python文档中使用python完成ini文件操作,就知道该怎么做了。干杯!在
不可能更改文件中的一行。只能在文件末尾附加内容或覆盖整个内容。 如果你想把分数存储在一个文件中,你需要一行一行地读取文件,把每一行存储在一个辅助变量中(连接行),当你到达需要修改的行时,把修改过的行连接到辅助变量中。然后继续逐行读取文件并将其存储到辅助变量中。 完成后,在文件中写下辅助变量的内容。在
相关问题 更多 >
编程相关推荐