Ребята, столкнулся с задачей: нужно чтобы скрипт на python создавал директории, если их еще нет. Кто-нибудь может подсказать, как это сделать? Желательно примеры кода. Спасибо!
Ребята, столкнулся с задачей: нужно чтобы скрипт на python создавал директории, если их еще нет. Кто-нибудь может подсказать, как это сделать? Желательно примеры кода. Спасибо!
Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat
А ТАКЖЕ: Канал о Python, статьи и книги ==>> @pythoneer_ru
Всё довольно просто! Используй модуль os. Вот примерчик:
Поскольку os.makedirs автоматически создаст все материнские директории, тебе не нужно беспокоиться об их существовании.Программный код:
import os
def create_dir(path):
if not os.path.exists(path):
os.makedirs(path)
print(f'Directory {path} created!')
else:
print(f'Directory {path} already exists.')
create_dir('your_directory')
Чётк материал! os.makedirs прямо топ для таких задач!Сообщение от Адмирал
А еще можно через pathlib, мне кажется это более читаемо:
Pathlib — классная штука для работы с путями.Программный код:
from pathlib import Path
def create_dir(path):
Path(path).mkdir(parents=True, exist_ok=True)
print(f'Directory {path} обработана.')
create_dir('your_directory')
Забавно, до сих пор юзал os а про pathlib даже не знал. Удобненько!Сообщение от Warlock
Если уж совсем быть точным, os и pathlib делают почти одно и то же, но pathlib поудобней и современней:
Просто выбирайте, что удобней ;-)Программный код:
import os
from pathlib import Path
def create_dir(path):
# Создаем директорию через pathlib
Path(path).mkdir(parents=True, exist_ok=True)
print(f'Directory {path} создана.')
create_dir('new_directory')
Точно, pathlib правда современней. Надо будет попробывать!Сообщение от Александра Павловна
Можно еще использовать try-except для ос сторонников:
Так можно использовать исключения если нужно специфическое поведение.Программный код:
import os
def create_dir(path):
try:
os.makedirs(path)
print(f'Directory {path} создана.')
except FileExistsError:
print(f'Directory {path} уже существует.')
create_dir('some_directory')
Да, через исключения тоже вариант! Интересный способ error handling.Сообщение от ЧароитовыйМаг