我想按字母顺序对'shopping.txt'文件进行排序
shopping = open('shopping.txt')
line=shopping.readline()
while len(line)!=0:
print(line, end ='')
line=shopping.readline()
#for eachline in myFile:
# print(eachline)
shopping.close()
答案 0 :(得分:30)
只是为了展示一些不同的东西而不是在python中这样做,你可以在Unix系统的命令行中做到这一点:
sort shopping.txt -o shopping.txt
并对您的文件进行排序。当然,如果你真的想要这样的python:许多其他人提出的阅读文件和排序工作正常的解决方案
答案 1 :(得分:19)
一种简单的方法是使用sort()
或sorted()
函数。
lines = shopping.readlines()
lines.sort()
可替换地:
lines = sorted(shopping.readlines())
缺点是你必须将整个文件读入内存。如果这不是问题,您可以使用这个简单的代码。
答案 2 :(得分:7)
使用sorted
功能。
with open('shopping.txt', 'r') as r:
for line in sorted(r):
print(line, end='')