македирс за креирање дубоких хијерархијских директоријума рекурзивно у Питхон-у

Бусинесс

Грешка приликом креирања новог директоријума са ос.мкдир() у непостојећем директоријуму

os.mkdir()Ово је метод који се користи за креирање директоријума (фолдера) у Питхон-у. Ако покушате да креирате нови директоријум у непостојећем директоријуму, појавиће се грешка.(FileNotFoundError)

import os

os.mkdir('not_exist_dir/new_dir')
# FileNotFoundError

Креирајте директоријуме рекурзивно помоћу ос.мадеирс()

Ако користите ос.македирс() уместо ос.мкдир(), креираће средњи директоријум, тако да можете рекурзивно креирати дубоки хијерархијски директоријум.

os.makedirs('not_exist_dir/new_dir')

У случају овог примера, створиће их све одједном. У реду је ако постоји више нових међудиректорија.

  • средњи именик:not_exist_dir
  • коначни именик:new_dir

Међутим, ако крајњи директоријум већ постоји, појавиће се грешка.(FileExistsError)

os.makedirs('exist_dir/exist_dir')
# FileExistsError

Ако постоји аргумент постоји_ок

Од Питхон-а 3.2, додат је аргумент екист_ок, и ако екист_ок=Труе, неће доћи до грешке чак и ако крајњи директоријум већ постоји. Ако крајњи директоријум не постоји, биће креиран нови, а ако постоји, ништа се неће радити. Ово је згодно јер не морате унапред да проверавате постојање терминалског директоријума.

os.makedirs('exist_dir/exist_dir', exist_ok=True)

Ако недостаје аргумент екист_ок

Ако имате старију верзију Питхон-а и немате аргумент екист_ок у ос.мадеирс, можете користити ос.патх.екистс да одредите да ли постоји или не постоји крајњи директоријум, а затим креирате нови само ако не постоји крајњи директоријум.

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')
Copied title and URL