Как мне прочитать данные из файла и отсортировать их в список?

Я сделал этот небольшой фрагмент кода, который собирает имя и рекорд и помещает его в список в файл. Вот мой код:

def main():
    pass
    fileobj = open('c:\\newfile.txt', 'w')
    count = 0
    player_names = []
    high_scores = []
    while count < 5:
        player_name = input('Name: ')
        high_score =  input('High Score: ')
        player_names.append(player_name)
        high_scores.append(high_score)
        fileobj.write(player_name + '\n')
        fileobj.write(high_score + '\n')
        count = count + 1
    fileobj.close()

Я пытаюсь создать еще один скрипт, который будет читать этот файл, распечатывать список и сортировать его в соответствии со значениями High Score. Я час или два читал о том, как это сделать, но не могу просто повесить трубку. этого Вот как выглядит мой другой скрипт:

def main():
    pass
    f = open('c:\\newfile.txt', 'r')
    print f
    f.readline()

Я получаю ошибку на print f строка, но когда я вынимаю это, скрипт запускается, но ничего не отображается.

2 ответа

Попробуйте заменить две последние строки на:

print (f.read())

В качестве альтернативы, если вы хотите сделать что-то для каждой строки, вы можете попробовать:

def main():
    for line in open('c:\\newfile.txt', 'r'): 
        #do_something_to_line
        print line

Похоже, вы пытаетесь распечатать дескриптор файла, а не данные в файле в данный момент.

Вы получаете ошибку, потому что print() это функция в python3

print(f)

это правильный путь. Также я не понял значение pass заявления. Если вы хотите распечатать содержимое файла, то используйте:

print(f.read()).

Ничего не отображается на экране после удаления print f так как f.readline() ничего не печатает, он просто читает файл из указателя текущего файла на первое вхождение \n и возвращает его в виде строки. Вы можете назначить f.readline() к некоторой переменной, как line = f.readline() или вы можете напрямую отобразить его на стандартный вывод, как print(f.readline())

Другие вопросы по тегам