Предположим, у меня есть следующая упрощенная структура файлов
main_folder
|__ foo.json
|
|__ sub_folder
|__bar.json
У меня есть две копии main_folder
, например main_folder_v1
и main_folder_v2
Я хочу сравнить обе версии и получить имена всех файлов, которые отличаются (например, получить "foo.json"
в случае, если его содержимое было обновлено в main_folder_v2
)
И я использую ниже код
import filecmp
comparison_result = filecmp.dircmp(main_folder_v1, main_folder_v2)
files_that_differs = comparison_result.diff_files
Проблема в том, что я получу ["foo.json"]
в случае, если он был обновлен в main_folder_v2
, но я никогда не получу ["bar.json"]
, поскольку кажется, что сравнение файлов в sub_folder
не выполняется
Есть ли возможность рекурсивного сравнения папок с помощью filecmp и получения имен файлов, которые отличаются или os.walk()
является единственным решением?