python导入名称文件并按字母顺序排序

时间:2013-08-02 23:32:23

标签: python file while-loop

我无法弄清楚为什么我的简单名称脚本不起作用。它似乎在while循环中出错。我可能会错误地称呼它,但我想我可能会在继续研究的同时尝试在这里得到答案。

#!/usr/bin/python

#open the file
name_file = open('names.txt', 'r')

#read in lines
names = name_file.readlines()

#close file
name_file.close()

#loop to place names in array
index = 0
        while index < len(names):
             names[index] = names[index].rstrip('\n')
             index += 1
#sort
names.sort()

#print sorted names
print names

2 个答案:

答案 0 :(得分:6)

也许这有效:

with open ('names.txt', 'r') as f:
    names = sorted (name.rstrip ('\n') for name in f)

print (names)

with负责在裁剪范围后关闭文件。

答案 1 :(得分:-1)

with open('names.txt', 'r') as f:
    names = sorted(f.readlines())

for (i, name) in enumerate(names):
    names[i] = name.rstrip('\n')

这应该可以解决问题。

对于这类事情,最好使用for循环。