Python - 根据第一个单词对文件中的行进行排序?

Vei*_*tch 1 python sorting file list

我有一个程序将列表打印到文件,但我希望它们根据第一个单词进行排序,以便匹配的项目彼此相邻.

例如,该文件可能包括:

Pizza 5  
Taco 6  
Pizza 4  
Taco 8
Run Code Online (Sandbox Code Playgroud)

我希望代码读取文件并对内容进行排序,以便顺序基于匹配的第一个单词,将类似的内容写入文件:

Pizza 5  
Pizza 4  
Taco 8  
Taco 6
Run Code Online (Sandbox Code Playgroud)

任何帮助?

Eug*_*ash 5

您可以简单地读取这些行,按字母顺序对它们进行排序并将它们写回同一个文件:

with open("myfile", "r+") as f:
    lines = f.readlines()
    lines.sort()        
    f.seek(0)
    f.writelines(lines)
Run Code Online (Sandbox Code Playgroud)

这假设文件适合RAM.如果没有,您需要实现某种合并排序.