Если бы я был вами, я бы проверил, если другое программное обеспечение не реализует эту функцию, например rsync
или diff
.Для того, что я вижу, оба имеют функции, которые вам нужны.Подробнее об этом здесь .
Если вам действительно нужно сделать это в Python, я бы немного изменил ваш алгоритм, сделав его так:
- Сохраните содержимое обоих путей в двух отдельных переменных списка, используя os.walk ;
- Выполните итерацию по каждому значению первого списка, чтобы найти соответствующее значение во втором списке;
- Если соответствующее значение было найдено, сравните его с помощью модуля filecmp.В противном случае отобразите отсутствующий файл;
- Удалите значение из второго списка;
- Переходите к # 2, пока первый список не станет пустым;
- Распечатайте все, что осталось во втором спискесписок;