У меня есть двоичный файл, из которого я пытаюсь извлечь строки, и у меня есть достаточно времени. :(Python - помощь, необходимая для разбора файла. Есть ли способ игнорировать символы EOF?
Моей текущей стратегией является чтение в файле с использованием Python (с использованием одной из следующих функций: read(), readline() или readlines()). Затем я анализирую строку (char by char) и искать специальный символ «O», который в большинство случаев непосредственно следует за строками, которые я хочу! Наконец, я анализирую назад из специального полукокса записи всех символов, которые я определил как «действует.»
В конце дня мне нужна печать переднего времени и следующие 3 строки в строке.
Результаты:
В строке примера ввода # 1 функции «чтение» не будут считываться по всей строке (показано на выходном изображении). Я считаю, что это потому, что функция интерпретирует двоичный файл как символ EOF, а затем перестает читать.
В строке # 2 примера есть моменты, когда появляется «специальный символ», однако это не после строки, которую я хочу извлечь. :(
Есть ли лучший способ для анализа этих данных? Если нет, то есть способ решения проблем видели в примере строка # 1?
Примеров входных данных и результирующий вывод данные, когда я просто напечатать линии, как чтение. Как вы можете видеть, он не читает по всей линии при использовании readlines()
Мой алгоритм извлечения строки, которая не очень надежен.
FYI, эффективность не обязательно важ т.
Размещая свой код как скриншот изображения, вы делаете это намного сложнее для нас, чтобы помочь вам. –
Нет такой вещи, как символ EOF, EOF - это просто условие достижения конца файла. – Barmar