readline() как обработать команды типа /n
Столкнулся с проблемой, что при выводе из файла context.txt командой readline() Вместе со всем текстом вместо перевода на новую строку выводит команду /n как текст, в чем проблема?
Условно говоря в текстовом файле содержится одна строка с текстом: "Осень /n Зима /n Весна /n Лето". И я хочу чтобы когда файл прочитал файл, он вывел его как:
Осень
Зима
Весна
Лето
Ответы (2 шт):
Во-первых управляющий символ переноса строки - \n, а не /n. Во-вторых текст \n из файла (или например введенный через input()) - это два отдельных символа, которые считываются как строка '\\n'. Перевод строки '\n' - это один символ. Если нужно, чтобы \n из файла обрабатывались как перевод строки, после считывания делайте замену '\\n' на '\n':
line = file.readline()
line = line.replace('\\n', '\n')
Если нужно чтобы текст /n тоже обрабатывался как перенос строки, аналогично добавьте замену '/n' на '\n'.
Вариант с построчным чтением файла и удалением пробелов и символов перевода каретки ( в том числе табуляции в конце строки) :
file = open("test.txt")
for line in file.readlines():
print(line.rstrip())
Вариант считать строки из файла сразу в List<string>, так же с удалением пробелов и всего прочего в конце строки :
file = open("test.txt")
temp = [line.rstrip() for line in file]
print(temp)