Как получить размер файла на диске?

Логический размер файла в Python получают через os.path.getsize(path) или Path(path).stat().st_size — в байтах. Он может отличаться от фактически выделенного места на диске, например у sparse-файла.

Короткий ответ

Что ответить на собеседовании

Логический размер файла в Python получают через os.path.getsize(path) или Path(path).stat().st_size — в байтах. Он может отличаться от фактически выделенного места на диске, например у sparse-файла.

Подробный разбор

Ответ с пояснениями

Логический размер файла в Python получают через os.path.getsize(path) или Path(path).stat().st_size — в байтах. Он может отличаться от фактически выделенного места на диске, например у sparse-файла.

Пример:

from pathlib import Path

size_bytes = Path('data.bin').stat().st_size

Для занятого пространства на Unix используют информацию о выделенных блоках, когда она доступна, или утилиты файловой системы. Сжатие, hard links и sparse-области усложняют подсчёт. Между проверкой пути и чтением файл может измениться; для уже открытого файла можно использовать fstat его дескриптора. Размер каталога не равен сумме размеров вложенных файлов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее