Некорректно отображается текст
Текст в файле отображается некорректно.
f = open("Безназвания.txt", "r")
for line in f:
print(line)
Текст в "Безназвания.txt":
Hello, world!
some text
Но отображается:
Hello, WorldHello, World!
some text
Как это исправить?
Ответы (2 шт):
Автор решения: MarianD
→ Ссылка
В текстовом файле всякая строка окончена символом перехода на новую строку: "\n"
Функция print() добавит стандартно тоже символ "\n" - значит, будут 2 такие знаки подряд и на выводе окажется пустая строка.
При загрузке из файла нужно этот символ убрать, например так - и я для вас напишу более удобный подход для открытия (и неявного закрытия) файла:
with open("Безназвания.txt") as f: # "r" не нужно
for line in f:
print(line[:-1]) # line[:-1] исключит последний знак, т.е. "\n"
Другое решение — применить метод .rstrip() для удаления всех пустых символов из конца строки (т.е. пробелов, табуляторов и символов "\n"):
with open("Безназвания.txt") as f: # "r" не нужно
for line in f:
print(line.rstrip()) # удалит все пустые символы из конца строки
Автор решения: rokitoker
→ Ссылка
А вообще для вывода содержимого файла куда проще использовать:
file_data = open('test.txt','r').read()
print(file_data)