сравнение двух файлов и сохранение отчета в любом другом файле

Я хотел бы сравнить данные двух файлов и сохранить отчет в другом файле. Я попытался использовать winmerge, вызвав cmd.exe с помощью модуля подпроцесса в python3.2. я смог получить отчет о разнице, но не смог сохранить этот отчет .Есть ли способ с помощью winmerge или любых других инструментов сравнения (diffmerge/kdiff3) сохранить отчет о различиях с помощью cmd.exe в windows7?пожалуйста, помогите


person mayank    schedule 14.06.2012    source источник
comment
возможный дубликат Сравнение двух текстовых файлов в python   -  person Oleh Prypin    schedule 14.06.2012
comment
Я намерен использовать инструмент. Например, winmerge предоставляет отчет о различиях очень приятным и информативным способом. Я сделал это с помощью difflib, но я хотел бы видеть оба моих входных файла рядом с визуальным выделением различий, а не in(+,-,?), что делает difflib. Я не могу его сохранить. У winmerge есть возможность объединить вывод и сохранить его, но я не хочу объединяться.   -  person mayank    schedule 14.06.2012
comment
если бы я мог передавать команды клавиатуры, такие как alt + t, а затем имя, а затем вводить с помощью python и командной строки в графический интерфейс, это послужило бы моей цели   -  person mayank    schedule 14.06.2012


Ответы (1)


Хотя ваш вопрос довольно старый, я удивляюсь, что на него еще не ответили. Я искал себе ответ и, как ни странно, нашел твой. Возможно, вы смешиваете довольно много вопросов в одном письме. Поэтому я решил ответить на основной заголовок, где, как я полагаю, вы пытаетесь сравнить содержимое файлов, читаемое человеком.

Для сравнения двух файлов существует библиотека difflib. который является частью дистрибутива Python.

Кстати, пример создания утилиты для сравнения файлов можно найти на сайте документации Python.

Ссылка находится здесь: Помощники для вычисления дельты

Оттуда вы можете научиться создавать опции и сохранять дельты, например. текстовый файл или что-то в этом роде. Некоторые из этих примеров также содержат вывод, похожий на git-difference, который, возможно, поможет вам решить ваш вопрос.

Это означает, что если вы можете выполнить свой скрипт, другие дельта-инструменты не требуются. Нет особого смысла вызывать другие инструменты через Python на CMD и пытаться ими управлять... :)

Возможно, вам также поможет этот веб-сайт с пояснениями и примерами кода: difflib — Сравните последовательности

Я надеюсь, что это поможет вам немного.

РЕДАКТИРОВАТЬ: я забыл упомянуть, что последний сайт содержит простой пример создания вывода HTML: Вывод HTML

person Semo    schedule 15.11.2013