makedirs luoda syviä hierarkkisia hakemistoja rekursiivisesti Pythonissa.

liiketoiminta

Virhe, kun luodaan uusi hakemisto os.mkdir():lla olemattomaan hakemistoon.

os.mkdir()Tätä menetelmää käytetään hakemiston (kansion) luomiseen Pythonissa. Jos yrität luoda uuden hakemiston olemattomaan hakemistoon, tulee virheilmoitus.(FileNotFoundError)

import os

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

Luo hakemistoja rekursiivisesti komennolla os.madeirs()

Jos käytät os.makedirs()-toimintoa os.mkdir()-toiminnon sijasta, se luo välihakemiston, joten voit luoda rekursiivisesti syvän hierarkkisen hakemiston.

os.makedirs('not_exist_dir/new_dir')

Tässä esimerkissä se luo ne kaikki kerralla. Ei haittaa, jos uusia välihakemistoja on useita.

  • välihakemisto: not_exist_dir
  • lopullinen hakemisto: new_dir

Jos loppuhakemisto on kuitenkin jo olemassa, tapahtuu virhe.(FileExistsError)

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

Jos on olemassa argumentti exist_ok

Python 3.2:sta lähtien on lisätty argumentti exist_ok, ja jos exist_ok=True, virhettä ei synny, vaikka loppuhakemisto olisi jo olemassa. Jos loppuhakemistoa ei ole olemassa, luodaan uusi, ja jos se on olemassa, mitään ei tehdä. Tämä on kätevää, koska sinun ei tarvitse tarkistaa päätehakemiston olemassaoloa etukäteen.

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

Jos argumentti exist_ok puuttuu

Jos sinulla on vanhempi Python-versio eikä os.madeirsissä ole argumenttia exist_ok, voit käyttää os.path.exists-ohjelmaa määrittämään, onko loppuhakemistoa vai ei, ja luoda uuden vain, jos loppuhakemistoa ei ole.

if not os.path.exists('exist_dir/exist_dir'):
    os.makedirs('exist_dir/exist_dir')