Я пытаюсь прочитать текстовый файл, используя следующую инструкцию:
with open(inputFile) as fp:
for line in fp:
if len(line) > 0:
lineRecords.append(line.strip());
Проблема в том, что я получаю следующую ошибку:
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x9d in position 6880: character maps to <undefined>
Мой вопрос, как я могуточно определить, где в файле встречается ошибка, поскольку позиция, которую дает Python, связана с положением в записи, читаемой в данный момент, а не с позицией абсолютного освобождения в файле.Так это 6,880 символов в записи 20 или 6,880 символов в записи 2000 года?Без информации о записи значение позиции, возвращаемое Python, бесполезно.
Итог: есть ли способ заставить Python сообщить мне, какую запись он обрабатывал в момент обнаружения ошибки?
(И да, я знаю, что 0x9d - это символ табуляции, и я могу выполнить его поиск, но это не то, что мне нужно.)
Спасибо.
Обновление: сообщение на UnicodeEncodeError: кодек 'charmap' не может кодировать - символ отображается на , функция печати не имеет ничего общего с вопросом, который я задаю - как я могу получить Python дляскажите, какую запись входного файла он читал, когда обнаружил ошибку Unicode.