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')