Задать вопрос
@split_horizon

Как с помощью python получить диффы двух файлов?

Здравствуйте, каждый день мой скрипт создает файлы название которых report-{%текущая дата}.
Каким образом реализовать сравнение двух файлов, один из которых создавался до момента вызова текущего скрипта, а второй созданный во время выполнения, чтобы вычленить изменившиеся строки?
Пример строк в файлах
ios-sw-01             6         37
ios-rtr-131           1         76
ios-sw-131           36        43
ios-sw-132           13        34
jos-rtr-221           2         76
jos-rtr-222           3         69

У меня есть мысль брать один файл построчно и пробегать в цикле по другому файлу, примерно следующим образом:
with open(file1) as f1, open(file2) as f2, open(file3) as result:
    counter=0
    changed=[]
    for line1 in f1:
        for line2 in f2:
            if line1 in line2:
                counter+=1
            else:
                 changed.append(line1)
     dst.writelines(changed)
     print(f'There are {counter} strings had benn changed'


Но возможно есть другие, более грациозные решения.
Дополнительно, я бы хотел что бы скрипт понимал какой файл предыдущий, но тут кроме как ручного указания не знаю вариантов.
  • Вопрос задан
  • 149 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Я бы использовал библиотеку.
Или у вас какие то специальные требования?
https://docs.python.org/2/library/difflib.html
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы