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

Размер файла в Python можно получить с помощью модуля os. В этом модуле есть функция stat(), которой мы можем передать имя файла в качестве аргумента. Эта функция возвращает кортежную структуру, содержащую информацию о файле. Обратившись к свойству st_size, мы можем узнать размер файла в байтах. Вот простая программа для печати размера файла в байтах и мегабайтах:

Скачивайте книги ТОЛЬКО на русском языке у нас в телеграм канале: PythonBooksRU
import os

file_name = "/Users/pankaj/abcdef.txt"

file_stats = os.stat(file_name)

print(file_stats)
print(f'File Size in Bytes is {file_stats.st_size}')
print(f'File Size in MegaBytes is {file_stats.st_size / (1024 * 1024)}')

Вывод:

Рабочее окно редактора кода с результатом работы функции stat: выводится размер файла в байтах и мегабайтах

В функцию stat() можно передать еще два аргумента: dir_fd и follow_symlinks. Однако они не реализованы для Mac OS. Вот обновленная программа, в которой я пытаюсь использовать относительный путь, но она выдает ошибку NotImplementedError:

import os

file_name = "abcdef.txt"
relative_path = os.open("/Users/pankaj", os.O_RDONLY)

file_stats = os.stat(file_name, dir_fd=relative_path)

Вывод:

Traceback (most recent call last):
  File "/Users/pankaj/.../get_file_size.py", line 7, in 
    file_stats = os.stat(file_name, dir_fd=relative_path)
NotImplementedError: dir_fd unavailable on this platform
Окно текстового редактора с выводом ошибки

Примечание редакции: о том, что собой представляют ошибки, можно почитать в статье “Ошибки и исключения в Python”.

Перевод статьи Pankaj «How to Get File Size in Python».

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *