Прочитать данные из файла
Есть задание в котором нужно прочитать данные из файла, добавить их в список и отсортировать по длине строки. Проблема состоит в том, что когда я читаю файл созданный в блокноте, а не в PyCharm, то выбивает ошибку юникода, хотя я поставил UTF-8, а когда читаю файл созданный в PyCharm, то в выводе появляются "\n", которые мне там ни к чему. Помогите понять в чём проблема. Вот код:
file = open(r'H:\Python\Python files\lab6(ipz_19_1_saukh)\files\learning_python.txt', 'r+', encoding="UTF-8")
lst = list(file.readlines())
lst_new = sorted(lst, key=len)
print(lst)
print(lst_new)
file.close()
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Избавиться от переводов строки:
a = ['hello\n', 'my\n', 'dear\n', 'friend']
a = list(map(str.strip, a))
print(a)
Вывод:
['hello', 'my', 'dear', 'friend']
Избавиться от проблем с кодировкой при чтении файла записанного в блокноте скорее всего можно выбрав кодировку windows при чтении файла:
file = open(..., encoding="cp1251")