Метод open
Метод open применяется к экземпляру класса Storage
и возвращает объект файла, открытый в указанном режиме.
Метод принимает имя файла и режим открытия, аналогично
встроенной функции open в Python. Это позволяет
работать с файлами, хранящимися в различных системах
хранения, используя единый интерфейс. Метод автоматически
определяет, существует ли файл, и возвращает объект,
поддерживающий основные файловые операции.
Синтаксис
storage.open(name, mode='rb')
Параметры метода:
-
name- имя файла в системе хранения (строка) -
mode- режим открытия файла (по умолчанию'rb')
Пример
Давайте откроем файл для чтения с использованием стандартной файловой системы хранения:
from django.core.files.storage import default_storage
# Open file for reading
file = default_storage.open('documents/readme.txt', mode='rb')
content = file.read()
file.close()
print(content.decode('utf-8'))
Результат выполнения кода:
"This is the content of readme.txt file"
Пример
Давайте откроем файл для записи с использованием стандартной файловой системы хранения:
from django.core.files.storage import default_storage
# Open file for writing
file = default_storage.open('documents/note.txt', mode='wb')
file.write(b'This is a test note')
file.close()
# Verify file exists
exists = default_storage.exists('documents/note.txt')
print(exists)
Результат выполнения кода:
True
Пример
Давайте откроем файл с использованием контекстного менеджера для автоматического закрытия:
from django.core.files.storage import default_storage
# Using context manager
with default_storage.open('documents/readme.txt', mode='rb') as file:
content = file.read()
print(content.decode('utf-8'))
Результат выполнения кода:
"This is the content of readme.txt file"