2

我不知道为什么我的简单名称脚本不起作用。它似乎在 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
4

2 回答 2

6

也许这有效:

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

print (names)

with一旦离开范围,就会关闭文件。

于 2013-08-02T23:33:33.023 回答
-1
with open('names.txt', 'r') as f:
    names = sorted(f.readlines())

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

这应该可以解决问题。

对这类事情使用 for 循环总是更好。

于 2013-08-02T23:40:33.307 回答