В работе с файловой системой на языке Python часто возникает необходимость проверки наличия определенной директории. Например, при создании файла в определенной директории, необходимо убедиться, что данная директория существует. Если директории не существует, то возникнет ошибка.
Существует несколько способов проверки существования директории в Python. Рассмотрим их подробнее.
Освойте Python на курсе от Skypro. Вас ждут 400 часов обучения и практики (достаточно десяти часов в неделю), подготовка проектов для портфолио, индивидуальная проверка домашних заданий и помощь опытных наставников. Получится, даже если у вас нет опыта в IT.
Использование модуля os
Модуль os в Python предоставляет широкий набор функций для работы с операционной системой. Для проверки существования директории можно использовать функцию os.path.isdir()
.
import os if os.path.isdir("/path/to/directory"): print("Directory exists") else: print("Directory does not exist")
В данном случае, если директория существует, будет выведено сообщение «Directory exists». В противном случае — «Directory does not exist».
Использование модуля pathlib
Модуль pathlib появился в Python начиная с версии 3.4 и представляет собой более современный способ работы с файловой системой. Для проверки существования директории можно использовать метод Path.exists()
.
from pathlib import Path if Path("/path/to/directory").exists(): print("Directory exists") else: print("Directory does not exist")
В данном случае, если директория существует, будет выведено сообщение «Directory exists». В противном случае — «Directory does not exist».
Это два основных способа проверить наличие директории в Python. Выбор между ними зависит от версии Python и личных предпочтений.
Изучайте Python на онлайн-курсе от Skypro «Python-разработчик». Программа рассчитана на новичков без опыта программирования и технического образования. Курс проходит в формате записанных коротких видеолекций. Будет много проверочных заданий и мастер-классов. В конце каждой недели — живая встреча с экспертами в разработке для ответов на вопросы и разбора домашек.
Добавить комментарий