logo

Python | os.makedirs() -menetelmä

Kaikki os-moduulin toiminnot korotetaan OSE-virhe virheellisten tai tavoittamattomien tiedostonimien ja polkujen tai muiden argumenttien tapauksessa, joilla on oikea tyyppi, mutta joita käyttöjärjestelmä ei hyväksy. Tässä artikkelissa näemme kuinka luodaan hakemistoja rekursiivisesti os-moduulin avulla ja myös os.makedirs() -menetelmästä.

Python os.makedirs() -funktion syntaksi

Syntaksi: os.makedirs(polku, tila = 0o777, olemassa_ok = false)



Parametri:

  1. polku : Polkumainen objekti, joka edustaa tiedostojärjestelmän polkua. Polun kaltainen objekti on joko merkkijono tai tavuinen objekti, joka edustaa polkua.
  2. tila (valinnainen) : Kokonaisluku, joka edustaa juuri luodun hakemiston tilaa. Jos tämä parametri jätetään pois, käytetään oletusarvoa Oo777.
  3. olemassa_ok (valinnainen) : tälle parametrille käytetään oletusarvoa False. Jos kohdehakemisto on jo olemassa, OSE-virhe nousee esiin, jos sen arvo on False, muuten ei. Arvo True jättää hakemiston ennalleen.

Palautustyyppi: Tämä menetelmä ei palauta mitään arvoa.

os.makedirs() -menetelmä Pythonissa

os.makedirs() menetelmä sisään Python käytetään hakemiston luomiseen rekursiivisesti. Tämä tarkoittaa, että jos jokin keskitason hakemisto puuttuu lehtihakemistoa luotaessa, os.makedirs() menetelmä luo ne kaikki.



Harkitse esimerkiksi seuraavaa polkua:

/home/User/Documents/GeeksForGeeks/Authors/ihritik>

Oletetaan, että haluamme luoda hakemiston 'ihritik', mutta hakemistot 'GeeksForGeeks' ja 'Authors' eivät ole käytettävissä polussa. Sitten os.makedirs() menetelmä luo kaikki ei-käytettävissä/puuttuvat hakemistot määritettyyn polkuun. 'GeeksForGeeks' ja 'Authors' luodaan ensin, sitten 'ihritik' -hakemisto.

Python os.makedirs() funktioesimerkkejä

Alla on esimerkkejä os.makedirs()-funktiosta, jonka avulla voimme nähdä kuinka luodaan hakemistoja rekursiivisesti käyttämällä os-moduuli :



Hakemiston luominen käyttämälläos.makedirs()>

Tässä esimerkissäos.makedirs()>menetelmää käytetään sisäkkäisten hakemistojen luomiseen. Ensimmäinen osa luo hakemiston nimeltä ihritik Tekijät-hakemistopolkuun. Toinen osa, jolla on määritetyt käyttöoikeudet, luo hakemiston c, joka on sisäkkäinen techcodeview.com/a/b:ssä.

Python 3




import> os> # Leaf directory> directory>=> 'ihritik'> # Parent Directories> parent_dir>=> '/home/User/Documents/GeeksForGeeks/Authors'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)> # Leaf directory> directory>=> 'c'> # Parent Directories> parent_dir>=> '/home/User/Documents/techcodeview.com/a/b'> # mode> mode>=> 0o666> path>=> os.path.join(parent_dir, directory)> os.makedirs(path, mode)> print>(>'Directory '%s' created'> %> directory)>

>

>

Lähtö:

Directory 'ihritik' created Directory 'c' created>

Virheet käytettäessä os.makedirs()-metodia

Tässä esimerkissäos.makedirs()>menetelmä yrittää luoda hakemiston nimeltä ihritik GeeksForGeeks-polulle. Jos hakemisto on jo olemassa, menetelmä herättää anOSError>. Onnistuneen luomisen jälkeen tulostetaan vahvistusviesti.

palindromi javassa

Python 3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/User/Documents/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> os.makedirs(path)> print>(>'Directory '%s' created'> %> directory)>

>

>

Lähtö:

Traceback (most recent call last):  File 'makedirs.py', line 21, in   os.makedirs(path)  File '/usr/lib/python3.6/os.py', line 220, in makedirs  mkdir(name, mode) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks/ihritik'>

Virheiden käsittely os.makedirs()-menetelmää käytettäessä

Tässä esimerkissäos.makedirs()>menetelmää käytetäänexist_ok>parametri asetettu arvoonTrue>tukahduttaaOSError>jos hakemisto on jo olemassa. Jos hakemistoa ei ole olemassa, se luodaan. Kuitenkin muutOSError>poikkeuksia, kuten virheellinen polun nimi, voidaan silti esittää, ja ne on käsiteltävä erikseen.

Python 3




import> os> # Directory> directory>=> 'ihritik'> # Parent Directory path> parent_dir>=> '/home/ihritik/Desktop/GeeksForGeeks'> # Path> path>=> os.path.join(parent_dir, directory)> # Create the directory 'ihritik'> try>:> >os.makedirs(path, exist_ok>=>True>)> >print>(>'Directory '%s' created successfully'> %> directory)> except> OSError as error:> >print>(>'Directory '%s' can not be created'>)>

>

>

Lähtö:

Directory 'ihritik' created successfully>