У меня есть файл с рекордом для игры тральщика, которую я создаю, и каждый раз после того, как она добавляется с новыми оценками, я хочу, чтобы она сортировалась по строке прерывания.Сортировка текстового файла на строку прерывания
Я использую:
def save_score(score):
name = input("type a name")
file = open("highscores.txt", "a")
file.write("Table: "+str(GRID_TILES)+"x"+str(GRID_TILES)+"\t mode:"+str(Dif)+"\t score:"+str(score)+"\t name:"+str(name)+"\n")
file.close()
который выходит в следующем формате:
table: 10x10 mode: easy score: 7592 name:Test
table: 5x5 mode: medium score: 2707 name:Test
Как я могу сделать так, чтобы после того, как либо file.write
или file.close
сортирует файл в каждой строке?
Я хочу, чтобы оно сортировалось только по столу. Неважно, в каком порядке, пока все таблицы, которые 7x7, пройдут те, которые также являются 7x7.
Я попытался сделать это:
def save_score(score):
name = input("type a name")
file = open("highscores.txt", "a")
file.write("table: "+str(GRID_TILES)+"x"+str(GRID_TILES)+"\t mode: "+str(Dif) +"\t score: "+str(score)+"\t name: "+str(name)+"\n")
file.close()
file = open("scores.txt", "r")
file2 = open("highscores.txt", "w")
file2.writelines(sorted(file, key=lambda line:str(line.split()[0])))
file.close()
file2.close()
Я хочу, чтобы мой код как можно короче, так как вся тральщик займет некоторое сумму коды.
Возможно, вы можете указать пример ожидаемого результата. – MervS
Извините, я не являюсь родным для английского языка, вы можете объяснить это дальше? –
Можете ли вы показать пример того, как выглядит файл после сортировки, которую вы хотите. – MervS