Олег Марков
Работа с каталогами в Python
Введение
Работа с каталогами — важная часть работы с файловой системой в Python. Создание, удаление, проверка существования и навигация по папкам часто требуется при автоматизации задач, управлении проектами и обработке данных. В этой статье мы разберём практические способы работы с директориями в Python и методы управления ими.
Работа с каталогами через модуль os
Модуль os предоставляет основные функции для работы с каталогами.
Проверка существования каталога
import os
if os.path.exists("my_folder"):
print("Каталог существует")
else:
print("Каталог не найден")os.path.exists() возвращает True, если путь существует, и False — если нет.
Создание нового каталога
import os
os.mkdir("new_folder") # создаёт один каталог
os.makedirs("nested/folder/structure") # создаёт вложенные каталогиmkdir() создаёт только один каталог, а makedirs() позволяет создать цепочку вложенных папок.
Для более глубокого освоения работы с каталогами и файловой системой Python, полезно изучить системный подход к Python. Если вы хотите детальнее погрузиться в Python — приходите на наш курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для практики 24/7, решение задач с живым ревью наставников и еженедельные встречи.
Навигация по каталогам
import os
# Текущая рабочая директория
print(os.getcwd())
# Изменение директории
os.chdir("new_folder")
print(os.getcwd())getcwd() показывает текущую директорию, а chdir() позволяет перейти в другую папку.
Список содержимого каталога
import os
print(os.listdir(".")) # список файлов и папок текущей директорииos.listdir() возвращает список всех файлов и каталогов по указанному пути.
Удаление каталогов
import os
import shutil
os.rmdir("empty_folder") # удаляет пустую папку
shutil.rmtree("folder_with_files") # удаляет папку и все её содержимоеrmdir() работает только для пустых каталогов, а shutil.rmtree() — для полного удаления с содержимым.
Частые ошибки
- Попытка создать каталог, который уже существует, вызывает
FileExistsError. - Удаление непустого каталога через
os.rmdir()приведёт к ошибке. - Неправильный путь к каталогу вызывает
FileNotFoundError. - Игнорирование прав доступа к файловой системе приводит к
PermissionError.
Частозадаваемые вопросы
Как проверить, является ли путь директорией?
Использовать os.path.isdir("path").
Как создать несколько вложенных папок сразу?
Использовать os.makedirs("path/to/folder").
Можно ли удалить каталог с файлами без цикла по содержимому?
Да, через shutil.rmtree("folder").
Заключение
Работа с каталогами в Python включает проверку существования, создание, удаление, навигацию и получение содержимого. Эти навыки позволяют автоматизировать задачи, управлять проектами и работать с файлами более эффективно.
Для системного изучения работы с каталогами, файловой системой и практического применения этих навыков рекомендуется курс Основы Python. В первых трёх модулях уже доступно бесплатное содержание, что позволяет попробовать работу с директориями на практике и оценить структуру курса.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев