logo

Python | os.makedirs() metodas

Visos OS modulio funkcijos pakeliamos OSE klaida netinkamų ar nepasiekiamų failų pavadinimų ir kelių ar kitų argumentų, kurių tipas yra teisingas, bet kurių operacinė sistema nepriima, atveju. Šiame straipsnyje pamatysime, kaip rekursyviai kurti katalogus naudojant os modulį, taip pat apie os.makedirs() metodą.

Python os.makedirs() Funkcijos sintaksė

Sintaksė: os.makedirs(kelias, režimas = 0o777, egzistuoja_ok = klaidingas)



Parametras:

  1. kelias : į kelią panašus objektas, nurodantis failų sistemos kelią. Į kelią panašus objektas yra eilutė arba baitų objektas, vaizduojantis kelią.
  2. režimu (neprivaloma) : sveikojo skaičiaus reikšmė, nurodanti naujai sukurto katalogo režimą..Jei šis parametras praleistas, naudojama numatytoji reikšmė Oo777.
  3. egzistuoja_ok (pasirenkama) : šiam parametrui naudojama numatytoji reikšmė False. Jei tikslinis katalogas jau egzistuoja, iškeliama OSE klaida, jei jo reikšmė yra False, kitaip ne. Vertė True palieka nepakeistą katalogą.

Grąžinimo tipas: Šis metodas negrąžina jokios vertės.

os.makedirs() Metodas Python

os.makedirs() metodas in Python naudojamas rekursyviai sukurti katalogą. Tai reiškia, kad kuriant lapų katalogą, jei trūksta kokio nors vidutinio lygio katalogo, os.makedirs() metodas sukurs juos visus.



Pavyzdžiui, apsvarstykite šį kelią:

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

Tarkime, kad norime sukurti katalogą „ihritik“, bet katalogai „GeeksForGeeks“ ir „Autoriai“ kelyje nepasiekiami. Tada os.makedirs() metodas sukurs visą nepasiekiamą / trūkstamą katalogą nurodytame kelyje. Pirmiausia bus sukurti „GeeksForGeeks“ ir „Autoriai“, tada bus sukurtas „ihritik“ katalogas.

Python os.makedirs() Funkcijų pavyzdžiai

Žemiau pateikiami keli funkcijos os.makedirs() pavyzdžiai, kuriuos naudojant galime pamatyti, kaip rekursyviai kurti katalogus naudojant os modulis :



Katalogo kūrimas naudojantos.makedirs()>

Šiame pavyzdyjeos.makedirs()>metodas naudojamas įdėtiems katalogams kurti. Pirmajame skyriuje Autorių katalogo kelyje sukuriamas katalogas pavadinimu ihritik. Antrasis skyrius su nurodytais leidimais sukuria katalogą c, įdėtą į techcodeview.com/a/b.

Python3




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

>

>

Išvestis:

Directory 'ihritik' created Directory 'c' created>

Klaidos naudojant os.makedirs() metodą

Šiame pavyzdyjeos.makedirs()>metodas bando GeeksForGeeks kelyje sukurti katalogą pavadinimu ihritik. Jei katalogas jau egzistuoja, metodas iškelia anOSError>. Sėkmingai sukūrus, išspausdinamas patvirtinimo pranešimas.

homogeniškas mišinys

Python3




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

>

>

Išvestis:

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

Klaidų tvarkymas naudojant os.makedirs() metodą

Šiame pavyzdyjeos.makedirs()>metodas naudojamas suexist_ok>parametras nustatytas įTrue>nuslopintiOSError>jei katalogas jau yra. Jei katalogo nėra, jis bus sukurtas. Tačiau kitiOSError>Išimtys, pvz., neteisingas kelio pavadinimas, vis tiek gali būti iškeltos ir turi būti tvarkomos atskirai.

Python3




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

>

>

Išvestis:

Directory 'ihritik' created successfully>