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

Класс File

Класс File является базовым классом для работы с файлами в Django. Он предоставляет унифицированный интерфейс для доступа к содержимому файла, его атрибутам и выполнения операций чтения и записи. Класс используется как основа для других файловых классов, таких как ContentFile, UploadedFile и других. Основные параметры конструктора включают путь к файлу или файловый объект, а также режим открытия.

Синтаксис

from django.core.files import File file = File(file_object, name=None)

Пример

Базовое использование класса File для открытия и чтения файла:

from django.core.files import File with open('example.txt', 'rb') as f: file = File(f, name='example.txt') content = file.read() print(content)

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

"b'This is the content of the file.'"

Пример

Использование класса File с моделью Django для сохранения загруженного файла:

from django.db import models from django.core.files import File from django.core.files.storage import default_storage class Document(models.Model): title = models.CharField(max_length=100) file = models.FileField(upload_to='documents/') def save_file(self, file_obj): self.file.save(file_obj.name, File(file_obj)) self.save()

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

"File saved successfully to documents/example.pdf"

Пример

Чтение файла по частям с помощью метода chunks:

from django.core.files import File with open('large_file.txt', 'rb') as f: file = File(f) for chunk in file.chunks(chunk_size=1024): print(f"Chunk size: {len(chunk)}")

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

"Chunk size: 1024" "Chunk size: 512" "Chunk size: 1024"

Пример

Получение информации о файле с использованием атрибутов name и size:

from django.core.files import File with open('document.pdf', 'rb') as f: file = File(f, name='document.pdf') print(f"File name: {file.name}") print(f"File size: {file.size} bytes")

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

"File name: document.pdf" "File size: 2048576 bytes"

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

  • класс ContentFile,
    который работает с файлами из строковых данных
  • класс UploadedFile,
    который предоставляет интерфейс для загруженных файлов
  • атрибут name,
    который возвращает имя файла
  • атрибут size,
    который возвращает размер файла в байтах
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить