python - 如何阻止程序覆盖现有的文本文件
问题描述
我正在制作一个游戏,其中 2 名玩家掷 2 个骰子 5 次,然后将分数保存在一个文件中,并在游戏结束后打印保存分数中的前 5 个分数。我正在尝试打印前 5 个分数,但我的程序会清除现有文件中的所有内容,并且只会打印刚刚玩过的游戏的分数。
file = open("Leaderboard.txt",'w')
file.write("Name " + "Score" + "\n") #Heading
file.close()
file = open("Leaderboard.txt",'a')
file.write((player1) + ":" + (str(score1)) + "\n") #Stores Player 1's Name and Score
file.write((player2) + ":" + (str(score2)) + "\n") #Stores Player 2's Name and Score
file.close()
file = open("Leaderboard.txt",'r')
readthefile = file.readlines()
sortedData = sorted(readthefile, reverse = True) #Sorting the Data
print(' ')
print("==============================")
print(" Top 5 Winning Scores")
print(' ')
for line in range (5): #Outputs the Top 5 Players
print(str(line + 1) + "\t" + str(sortedData[line]))
这就是它打印的内容
==============================
Top 5 Winning Scores
1 vedant:43
2 saiyen:37
3 Name Score
它只会打印本场比赛的比分,不会打印之前比赛的比分。我得到的错误是 IndexError: list index out of range
帮助将不胜感激!
解决方案
推荐阅读
- java - 增加一个值
- classification - 使用 Google Earth Engine 仅使用一个类进行监督分类
- aleagpu - “‘发现了不止一个没有前辈的基本方块。” 使用我的 alea/c# 代码,我不知道为什么?
- typescript - 打字稿-尝试扩展类原型时,类型上不存在属性
- sql - 如何在 where 子句中传递 null = null
- python - Python 随机数游戏默认为错误答案
- reactjs - webpack:// 和 webpack-internal:// 有什么区别
- c# - c# 查找目录中包含列表/数组/数据表等中指定的值的所有文件名
- graphql - apollo graphql 没有收到标题信息
- java - Java FX 按钮突出显示