Python:如何按字典顺序逐行对文件进行排序并将结果写入文件?

时间:2016-06-13 18:24:03

标签: python sorting

我是Python的初学者,无法理解这个问题。有人可以查看我的代码是否反映了说明/如何修复它?谢谢!

问题:编写一个函数sortFile(src,dst),它按字典顺序逐行对名称为src的文件进行排序,并将结果写入名为dst的文件而不修改src。提示:如果f是文件对象,则list(f)将整个文件作为行列表读取。使用列表的排序方法进行排序,并使用字符串的连接方法来连接字符串列表。例如,对text.txt进行排序会产生一个文件:

  

苹果是红色的。

     

香蕉是蓝色的。

     

水果很棒。

text.txt文件:

苹果是红色的。

香蕉是蓝色的。

水果很棒。

我的代码:

def sortFile(src, dst):
    x, y = open(src, 'r'), open(dst, 'w')
    b = x.readlines()
    x.close()
    b.sort()
    for i in b:
        print((str(i).strip()), file=y)
    y.close()

1 个答案:

答案 0 :(得分:1)

我会使用file.write(string)写入输出文件:

def sortFile(src, dst):
    x, y = open(src, 'r'), open(dst, 'w')
    b = x.readlines()
    x.close()
    b.sort()
    for i in b:
        y.write(i.strip() + "\n")
    y.close()

我测试了它,它应该产生正确的结果。