Python Glossary English

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

filecmp.cmp()

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

Сравнивает два файла и возвращает True, если они считаются одинаковыми; по умолчанию доверяет размеру и времени изменения.

Синтаксис

filecmp.cmp(f1, f2, shallow=True) -> bool

При shallow=True (по умолчанию) файлы с одинаковыми типом, размером и mtime объявляются равными БЕЗ чтения содержимого — после копирования с сохранением времени или правки в ту же секунду это ложное True. Содержимое гарантированно сверяет только shallow=False. Результаты кешируются, а несуществующий файл даёт FileNotFoundError, а не False.

Примеры

import filecmp, os
open('a.txt', 'w').write('hello')
open('b.txt', 'w').write('jello')
st = os.stat('a.txt')
os.utime('b.txt', ns=(st.st_atime_ns, st.st_mtime_ns))  # то же время
print(filecmp.cmp('a.txt', 'b.txt'))  # → True — сравнили только размер и время
print(filecmp.cmp('a.txt', 'b.txt', shallow=False))  # → False

См. также

Частые ошибки

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