Вы можете попробовать это.
Я предлагаю использовать with open(...)
, потому что вам не нужно явно использовать close()
.
with open(argv[-1]) as f:
names=[]
for line in f:
names.append(line.split()[0])
print(*sorted(names),sep=' ')
#Anna Brody Conor Darnell
Как рекомендует @Jan, вы можете написать все это с использованием понимания списка.
Использует ли использование списка для автоматического чтения файла файл, вызывая close () Я написал ниже в соответствии с этой ссылкой.
print(*sorted([line.split()[0] for line in open('score.txt','r') if line.split()]),sep=' ') #This single code does what you wanted
#Anna Brody Conor Darnell
Но я предлагаю использовать этот ответ ниже.
with open(argv[-1],'r') as f:
print(*sorted([line.split()[0] for line in f],sep=' ')
Используйте это, если у вас есть разрыв между строками.
with open('score.txt','r') as f:
names=[]
for line in f:
if line.strip():
names.append(line.split()[0])
print(*sorted(names),sep=' ')