按字母顺序排序文本文件(Python)

时间:2014-11-25 09:36:21

标签: python sorting

我想按字母顺序对'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()

3 个答案:

答案 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='')