РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
649 of 818 menu

Метод size

Метод size применяется к объекту хранилища и возвращает размер указанного файла в байтах. Метод принимает имя файла в качестве аргумента и возвращает целое число. Если файл не существует, метод выбрасывает исключение FileNotFoundError. Этот метод полезен для проверки размера файлов перед их обработкой или отображения информации о файле пользователю.

Синтаксис

storage.size(name)

Параметры

Метод size принимает следующие параметры:

name - имя файла в системе хранения. Это обязательный строковый параметр, который указывает путь к файлу относительно корня хранилища.

Пример . С использованием default_storage

Получим размер файла с именем "documents/report.pdf" с использованием стандартного хранилища:

from django.core.files.storage import default_storage file_name = "documents/report.pdf" file_size = default_storage.size(file_name) print(f"Размер файла: {file_size} байт")

Результат выполнения кода:

"Размер файла: 1024 байт"

Пример . С использованием FileSystemStorage

Создадим экземпляр файловой системы хранения и получим размер файла "images/photo.jpg":

from django.core.files.storage import FileSystemStorage fs = FileSystemStorage(location="/media") file_name = "images/photo.jpg" file_size = fs.size(file_name) print(file_size)

Результат выполнения кода:

2048

Пример . Обработка исключения

Попробуем получить размер несуществующего файла с обработкой ошибки:

from django.core.files.storage import default_storage file_name = "missing/document.txt" try: file_size = default_storage.size(file_name) print(file_size) except FileNotFoundError as e: print(f"Файл не найден: {e}")

Результат выполнения кода:

"Файл не найден: [Errno 2] No such file or directory: 'missing/document.txt'"

Пример . Проверка размера перед загрузкой

Проверим размер файла перед его обработкой и выведем информацию в удобочитаемом формате:

from django.core.files.storage import default_storage file_name = "uploads/video.mp4" max_size = 100 * 1024 * 1024 # 100 MB try: file_size = default_storage.size(file_name) if file_size > max_size: print("Файл слишком большой") else: print(f"Размер файла: {file_size / 1024 / 1024:.2f} MB") except FileNotFoundError: print("Файл не найден")

Результат выполнения кода:

"Размер файла: 45.67 MB"

Смотрите также

  • метод exists,
    который проверяет существование файла в хранилище
  • метод open,
    который открывает файл для чтения или записи
  • атрибут size класса File,
    который возвращает размер файлового объекта
  • метод save,
    который сохраняет файл в хранилище
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить