Файл может иметь расширенные атрибуты.Это дополнительные данные, связанные с файлом, который не является частью его обычных данных.
Размер нормальных данных - это то, что сообщается полем st_size
структуры struct stat
, заполненной stat()
системный вызов.Однако общий размер файла, включая как обычные данные, так и расширенные атрибуты, включен в поле st_blocks
.
Вы можете прочитать исходный код для реализации du
macOS .Для файлов размером менее 2 ТБ он использует размер блока файла.
Я предполагаю, что Python использует st_size
.
Размеры расширенных атрибутов можно увидеть, применивls -l@s
в файл.