Почему в текстовых файлах есть поля в возвратах (Python 3x) - PullRequest
0 голосов
/ 15 января 2019

Сейчас я работаю над несколькими рекордами, и у меня пока есть файл Scores.txt, настроенный так: 1651 231 54

Но, когда я проверяю его, он появляется как this .

Почему это происходит и как я могу это исправить? Вот код, в котором это происходит:

#high score
    line1 = 0
    line2 = 0
    line3 = 0
    with open("Assets\scores.txt") as multiple_hscore:
        multiple_hscore.seek(0)
        line1 = multiple_hscore.readline(10)
        line2 = multiple_hscore.readline(30)
        line3 = multiple_hscore.readline(50)

Любая помощь будет оценена!

P.S. Я пытался делать \ n и использовать строки и некоторые другие вещи, но они не работали.

1 Ответ

0 голосов
/ 15 января 2019

Строки, которые вы читаете из вашего файла, имеют в конце какой-то непечатаемый символ, который ваша библиотека GUI отображает в виде коробки. Наиболее вероятная причина этого заключается в том, что именно так отображаются символы новой строки, поскольку он не может выложить несколько строк текста для вас.

Вероятно, вы можете решить проблему, вызвав strip() в каждой прочитанной строке:

with open("Assets\scores.txt") as multiple_hscore:
    line1 = multiple_hscore.readline(10).strip()
    line2 = multiple_hscore.readline(30).strip()
    line3 = multiple_hscore.readline(50).strip()

Вы также можете более четко указать, что вы хотите вырезать и сделать что-то вроде .rstrip('\n'), но если пробелы не могут быть важной частью ваших данных, это, вероятно, не нужно.

Обратите внимание, что поиск позиции 0 во вновь открытом файле не обязателен. Обычно вы начинаете с этой позиции, если только вы не открыли файл в режиме 'a' (который будет искать для вас конец, так как это режим "добавления").

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...