Python Glossary English

все Python 3filecmpфункция

filecmp.cmpfiles()

сравнение файлов

Сравнивает файлы с одинаковыми именами в двух каталогах и раскладывает имена на три списка: совпали, различаются, ошибки.

Синтаксис

match, mismatch, errors = filecmp.cmpfiles(a, b, common, shallow=True)

Возвращает кортеж (match, mismatch, errors). Имена берутся из третьего аргумента, а не из каталогов: что не перечислено, не сравнивается. Отсутствующий с одной из сторон файл попадает в errors, а подкаталог с тем же именем — в mismatch. shallow=True, как и у cmp(), доверяет размеру и mtime.

Примеры

import filecmp, os
os.makedirs('L'); os.makedirs('R')
for d, text in (('L', 'aa'), ('R', 'bbb')):
    open(f'{d}/same.txt', 'w').write('1')
    open(f'{d}/diff.txt', 'w').write(text)
print(filecmp.cmpfiles('L', 'R', ['same.txt', 'diff.txt', 'ghost.txt'], shallow=False))  # → (['same.txt'], ['diff.txt'], ['ghost.txt'])

См. также

Открыть в полном глоссарииdocs.python.orgСообщить о неточности