readline() как обработать команды типа /n

Столкнулся с проблемой, что при выводе из файла context.txt командой readline() Вместе со всем текстом вместо перевода на новую строку выводит команду /n как текст, в чем проблема?

Условно говоря в текстовом файле содержится одна строка с текстом: "Осень /n Зима /n Весна /n Лето". И я хочу чтобы когда файл прочитал файл, он вывел его как:

Осень
Зима
Весна
Лето 

Ответы (2 шт):

Автор решения: insolor

Во-первых управляющий символ переноса строки - \n, а не /n. Во-вторых текст \n из файла (или например введенный через input()) - это два отдельных символа, которые считываются как строка '\\n'. Перевод строки '\n' - это один символ. Если нужно, чтобы \n из файла обрабатывались как перевод строки, после считывания делайте замену '\\n' на '\n':

line = file.readline()
line = line.replace('\\n', '\n')

Если нужно чтобы текст /n тоже обрабатывался как перенос строки, аналогично добавьте замену '/n' на '\n'.

→ Ссылка
Автор решения: Peter Lavreniuk

Вариант с построчным чтением файла и удалением пробелов и символов перевода каретки ( в том числе табуляции в конце строки) :

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)
→ Ссылка