我有一个记录(highscores
)的文件存储为每行int
(带标题)。
在我的python项目中,我将记录读入数组,然后添加记录(只是int
),对数组进行排序(添加新记录),然后用新记录覆盖文件(和标题 - 保持不变)
以下是我用过的相关代码:
highscores = []
with open("highscore.txt", "r") as f:
f.readline() # Reads header
for line in f:
highscores.append(line.strip())
highscores.append(wins)
highscores = sorted(highscores, key=int, reverse=True)
# Print sorted highscores print to file
with open("highscore.txt", "w") as f:
for val in highscores:
print(val, file=f)
现在我有一个文件,每行显示int /t string
形式的记录(带标题)。我没有使用元组读取或排序数组的经验,也不知道如何处理它。任何人都可以让我走上正确的道路或提供解决方案。
我想从我的文件中读取int /t string
记录并将其放入highscores
数组中。然后我想基于int
值对数组进行排序,这是元组的第一个元素(假设我不采取另一种方法)。然后使用新的highscore
记录覆盖文件。
编辑:
当我写highscore.append(wins)
时,我不应该这样,wins是一个整数变量,我想追加wins和name(字符串作为我的变量)。
答案 0 :(得分:1)
您无需进行太多改动:
{
db: {
connector: 'memory'
}
}
关键功能将使用您的第 highscores = sorted(highscores, key=lambda s: int(s.split()[0]), reverse=True)
行。然后它将拆分它,取第一部分,然后将其转换为整数。