Top.Mail.Ru
Ответы

Кто это поборол? подскажите: '\ufeff при выводе результата

при коде
print('\n\t6.Читаю весь файл в список.')
text_file = open('read_it.txt', 'r', encoding = 'utf-8')
lines = text_file.readlines()
print(lines)
print('Строк всего:', len(lines))
for line in lines:
print(line)
text_file.close()

выводит:
6.Читаю весь файл в список.
['\ufeffСтрока 1 \n', 'Это строка 2 \n', 'Этой строке достался номер 3 \n', '\tНовая строка']
Строк всего: 4
Строка 1

Это строка 2

Этой строке достался номер 3

писали что это типа ошибка битого байта, но я и исходный файл пересоздавал и кодировка вся UTF-8 без BOM, но никак.

Только авторизированные пользователи могут оставлять свои ответы
Дата
Популярность
Аватар пользователя
Новичок
6лет

В первой строке файла удали невидимый символ в начале строки, это и есть BOM. Или ещё раз сохрани без BOM (при помощи Notepad++).

Аватар пользователя
Знаток
5лет

Попробуйте сохранить текст в кодировке 'utf-16'. Соответственно, открывать файл в питоне нужно тоже в ней.

Аватар пользователя
Просветленный
6лет

\ufeff это BOM. Откуда берется не понятно.