我需要将一些变量保存到文件中。我可以写入文件,但是我不知道如何在python中排序文件的内容。
该文件将包含一个字符串,该字符串与一个整数配对,我想将其从最高整数到最低整数排序。
文件中的数据:
3 third string 1 first string 2 second string
预期输出:
1 first string 2 second string 3 third string
非常感谢您的帮助。
答案 0 :(得分:0)
如果您在以下列表中输入内容,请说。然后,您可以使用sorted()函数,然后使用排序列表来写入文件
l=['3 third string','1 third string','2 third string']
l=sorted(l,key=lambda x : int(x[0]))
with open("A:\mygit\projects\Python\output_dir\sample.txt",'w+') as f:
for line in l:
f.write("{}\n".format(line))
现在说如果您有一个包含乱序行的文件,现在如果您想读取和订购同一文件,则说出sample.txt如下所示:
3 third string
1 third string
2 third string
现在下面的代码将首先读取文件,将其转换为列表,对其进行排序,然后将其写回到文件中:
with open("sample.txt",'r') as f:
l=[x.strip() for x in list(f)]
l=sorted(l,key=lambda x : int(x[0]))
with open("sample.txt",'w') as f:
for line in l:
f.write("{}\n".format(line))
答案 1 :(得分:-1)
如果您不必使用标准python,请看看json library.
除此之外,您还可以使用python内置的sorted()
函数。