#python #text #pygame #iteration
#python #текст #pygame #итерация
Вопрос:
Я новичок в pygame и python в целом, поэтому полагаю, что здесь возможны серьезные ошибки.
Я пытаюсь отобразить текст в диалоговом окне. Я разобрался с системой, и текст отображается правильно, но когда текст загружается, в конце текста появляется символ вертикального прямоугольника.
Мне кажется очевидным, что этот символ представляет собой клавишу ‘return’. Вот текстовый файл, который я извлекаю из:
00*It’s your favorite game console.
01*-Player's House-
Вот как текст отображается в игре.
И вот мой код для разбиения текстового файла на сегменты:
with open("textList.txt", "r") as f:
data = f.readlines()
for line in data:
cutInfo = line.split("*")
if dblock.textnum == cutInfo[0]:
self.text = cutInfo[1]
Мне интересно, есть ли способ избавиться от прямоугольника, просто не обрезая конец строки, и я также хочу сохранить возвращаемые значения в текстовом файле, чтобы он был более читабельным (и не сжимался в одну строку). Однако, если нет обходного пути, я полагаю, я мог бы внести эти изменения.
Комментарии:
1. Можете ли вы показать полный код?
2. Я подозреваю, что это возврат каретки или перевод строки. Откуда взялся этот текстовый файл? Какой редактор это создал? Какая операционная система?
3. Я использую Mac OS Sierra, и я создал текстовый файл в стандартном приложении TextEdit с отключенным «форматированным текстом».
Ответ №1:
for line in file:
сохраняет завершающие символы новой строки.
Вы можете использовать line.strip()
, чтобы избавиться от начальных и завершающих пробелов.
cutInfo = line.strip().split("*")
Если вы не хотите избавляться от всех пробелов,
.strip('rn')
удаляет только символы новой строки..rstrip('rn')
избавляется только от завершающих символов новой строки.