Чтение строк за пределами SUB в Python

Вопрос с новичком. В Python 2.7.2. У меня есть проблема с чтением текстовых файлов, которые случайно содержат некоторые управляющие символы. В частности, цикл

for line in f

будет прекращаться без каких-либо предупреждений или ошибок, как только он встретится с линией, содержащей символ SUB (шестнадцатеричный код ascii 1a). При использовании f.readlines() результат будет таким же. По сути, что касается Python, файл завершается сразу же после появления первого символа SUB , а line назначенная последним, – это строка до этого символа.

Есть ли способ читать дальше такого персонажа и / или выдавать предупреждение при встрече с ним?

2 Solutions collect form web for “Чтение строк за пределами SUB в Python”

В системах Windows 0x1a является 0x1a конца файла. Вам нужно открыть файл в двоичном режиме, чтобы пройти мимо него:

 f = open(filename, 'rb') 

Недостатком является то, что вы потеряете линейный характер и должны сами разбить линии:

 lines = f.read().split('\r\n') # assuming Windows line endings 

Попробуйте открыть файл в двоичном режиме:

 f = open(filename, 'rb') 
  • Как преобразовать список значений ascii в строку в python?
  • Преобразовать из строки ASCII, закодированной в Hex, в обычный ASCII?
  • Как преобразовать один символ в его шестнадцатеричное значение ascii в python
  • Как установить кодировку по умолчанию в Jenkins?
  • В чем смысл chr (128) .. chr (255) в Python?
  • Проблемы с Python в Google App Engine - UTF-8 и ASCII
  • Преобразование Python - Unicode в ASCII
  • Лучший тип вывода и методы кодирования для функций __repr __ ()?
  • Python, file (1) - Почему числа и диапазон (0x20, 0x100) используются для определения текстового или двоичного файла
  • Ошибка кодирования Unicode Python
  • Почему chardet говорит, что моя кодированная UTF-8 строка (первоначально декодированная из ISO-8859-1) является ASCII?
  •  
    Interesting Posts for Van-Lav

    Выровнять текст юникода в окне терминала, используя шрифт моноширин по умолчанию

    Writelines пишет строки без новой строки, просто заполняет файл ..

    .whl не является допустимым именем файла колеса, сохраняя журнал отладки для отказа в C: \

    Записывание пользовательских атрибутов Django в formatter

    Рабочий процесс Sphinx и JavaScript

    Измените запись «print» на «tqdm.write», поэтому ведение журнала не мешает индикаторам выполнения

    Перезагрузка сервера Django занимает слишком много времени

    сделать distutils в Python автоматически найти пакеты

    Я хочу создать скрипт для файла unzip (.tar.gz) через (Python)

    Найти ближайший float в массиве для всех поплавков в другом массиве

    Как загрузить оболочку IPython с помощью PySpark

    Получение n-го элемента с помощью BeautifulSoup

    Как проверить, локализован ли объект datetime с помощью pytz?

    Python3: вычисление комплексных показателей и логарифмов

    Nosetests Python пропускают определенные тесты

    Python - лучший язык программирования в мире.