Использование difflib.compare с python для сравнения двух текстовых файлов. Я знаю, что сравнение возвращает по существу список строк. Когда строка уникальна для первого текстового файла, она помещает перед строкой «-», а когда строка уникальна во втором текстовом файле, она помещает перед строкой «+».python difflib compare output format
Моя проблема заключается в том, что я пытаюсь написать код для определения строки, которую нужно сохранить. Я начал в настоящее время искать «-» в каждой строке, если я ее нашел, я затем выполнил некоторую логику, чтобы определить, буду ли я использовать эту строку или нет. Если бы я не собирался его использовать, я либо искал одну или две строки для «+».
Почти во всех моих случаях линия «-» предшествовала строке «+». Но теперь я получаю экземпляры, где строка «+» предшествует строке «-». Это отбрасывает мой код, поскольку он не может найти правильную строку для записи в выходной текстовый файл. Кто-нибудь знает логику того, как строки записываются в массив, основывается ли он на том, какой номер строки на первом месте?
ex//
majority of the time out put is this:
"- color: #ffffff;"
"+ color: #785642;"
but rarely it does come out the opposite:
"+ color: #785642;"
"- color: #ffffff;"
Я ценю предлагаемую помощь, но это на самом деле не решает мою проблему. Почему вы используете ndiff, в отличие от сравнения. Исправьте меня, если я ошибаюсь, но ndiff - это сравнение двух списков, а не текстовых файлов. Также вы сталкиваетесь с той же проблемой, что и я, с порядком, в котором они появляются. Мне нужно сначала искать строки «-», если они не соответствуют критериям, которые у меня есть, тогда мне нужно взять другую текстовую версию этой строки кода. Я полностью понимаю, что означают «+» и «-», как я сказал в своем вопросе. Я получаю несогласованное форматирование вывода. – shreddish
Иногда первая строка кода появляется перед второй строкой, а затем в другое время наоборот. – shreddish