如何使用python按字母顺序排序.txt文件?

时间:2015-02-27 04:29:46

标签: python list python-2.7 sorting io

我有一个类似于很多ID的.txt文件:

SDFSD_23423432_SDFSDF
SHTHWREWER_234324_werew
dsdfdsf_334DSFGSDF_w
....
SASFSD3452345_$534253

如何创建此文件的按字母顺序排序的版本?这就是我试过的:

f=open(raw_input("give me the file"))
for word in f:
    l = sorted(map(str.strip, f))
    print "\n",l
    a = open(r'path/of/the/new/sorted/file.txt', 'w')
    file.write(l)

但我得到了这个例外:

 line 6, in <module>
    file.write(l)
TypeError: descriptor 'write' requires a 'file' object but received a 'list'

如何解决这个问题,以便创建一个新的字母排序文件,每行有一个新行,例如:像这样的东西:

id
id
id
...
id

1 个答案:

答案 0 :(得分:1)

问题是,您指的是内部文件对象

>>> file
<type 'file'>
>>> file.write([])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: descriptor 'write' requires a 'file' object but received a 'list'

您必须在您在代码中创建的文件对象中写入。

a = open(r'path/of/the/new/sorted/file.txt', 'w')
a.write(str(l))