Метод listdir
Метод listdir применяется к объекту Storage и возвращает кортеж из двух списков: список директорий и список файлов в указанном каталоге. Метод принимает путь к каталогу в качестве аргумента и возвращает информацию о его содержимом. Это полезно для навигации по файловой системе хранилища и получения списка доступных файлов.
Синтаксис
storage.listdir(path)
Параметры
Метод listdir принимает следующие параметры:
- ⁅b⁆path⁅/b⁆ - путь к каталогу в хранилище, содержимое которого необходимо получить.
Возвращаемое значение
Метод возвращает кортеж (dirs, files), где dirs - это список имен поддиректорий, а files - список имен файлов в указанном каталоге. Оба списка не сортируются в каком-либо определенном порядке.
Пример
Давайте получим список всех файлов и папок в корневом каталоге хранилища:
from django.core.files.storage import default_storage
dirs, files = default_storage.listdir('')
print("Directories:", dirs)
print("Files:", files)
Результат выполнения кода:
"Directories: ['documents', 'images', 'videos']"
"Files: ['index.html', 'readme.txt']"
Пример
Давайте получим содержимое конкретной папки внутри хранилища, например, каталога "documents":
from django.core.files.storage import default_storage
dirs, files = default_storage.listdir('documents')
print("Subdirectories in documents:", dirs)
print("Files in documents:", files)
Результат выполнения кода:
"Subdirectories in documents: ['reports', 'invoices']"
"Files in documents: ['summary.pdf', 'notes.txt']"
Пример
Давайте проверим, есть ли определенный файл в каталоге, используя метод listdir:
from django.core.files.storage import default_storage
target_file = 'documents/notes.txt'
dirs, files = default_storage.listdir('documents')
if target_file.split('/')[-1] in files:
print("File found!")
else:
print("File not found.")
Результат выполнения кода:
"File found!"