Грешка приликом креирања новог директоријума са ос.мкдир() у непостојећем директоријуму
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')