Luo hakemisto Pythonissa

Pythonin käyttöjärjestelmämoduuli tarjoaa toimintoja vuorovaikutukseen käyttöjärjestelmän kanssa. OS kuuluu Pythonin vakioapumoduulien alle. Tämä moduuli tarjoaa kannettavan tavan käyttää käyttöjärjestelmästä riippuvia toimintoja. The os> ja os.path> moduulit sisältävät monia toimintoja vuorovaikutukseen tiedostojärjestelmän kanssa. Kaikki os-moduulin toiminnot korotetaan OSError> virheellisten tai tavoittamattomien tiedostonimien ja polkujen tai muiden argumenttien tapauksessa, joilla on oikea tyyppi, mutta joita käyttöjärjestelmä ei hyväksy.

OS-moduulissa on käytettävissä erilaisia ​​menetelmiä ohjaajan luomiseen. Nämä ovat -

Käyttämällä os.mkdir()

os.mkdir()> Pythonin menetelmää käytetään luomaan polku-niminen hakemisto määritetyllä numeerisella tilassa. Tämä menetelmä nostaa FileExistsError> jos luotava hakemisto on jo olemassa.

Syntaksi: os.mkdir(polku, tila = 0o777, *, dir_fd = ei mitään)

Parametri:
polku: Polkumainen objekti, joka edustaa tiedostojärjestelmän polkua. Polun kaltainen objekti on joko merkkijono tai tavuinen objekti, joka edustaa polkua.
tila (valinnainen): Kokonaisluku, joka edustaa luotavan hakemiston tilaa. Jos tämä parametri jätetään pois, käytetään oletusarvoa Oo777.
dir_fd (valinnainen): Hakemistoon viittaava tiedostokuvaaja. Tämän parametrin oletusarvo on Ei mitään.
Jos määritetty polku on absoluuttinen, dir_fd ohitetaan.

Huomautus: Parametriluettelon '*' osoittaa, että kaikki seuraavat parametrit (tässä tapauksessamme 'dir_fd') ovat vain avainsanaparametreja ja ne voidaan antaa käyttämällä niiden nimeä, ei sijaintiparametreina.

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

Esimerkki 1: Käyttö os.mkdir()> tapa luoda hakemisto/tiedosto




# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'techcodeview.com'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print> (> 'Directory '% s' created'> %> directory)> > # Directory> directory> => 'Geeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects'> > # mode> mode> => 0o666> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> # with mode 0o666> os.mkdir(path, mode)> print> (> 'Directory '% s' created'> %> directory)>

Lähtö:

 Directory 'techcodeview.com' created Directory 'Geeks' created 

Esimerkki 2: Virheitä käytön aikana os.mkdir()> menetelmä.




# Python program to explain os.mkdir() method> > # importing os module> import> os> > # Directory> directory> => 'GeeksForGeeks'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print> (> 'Directory '% s' created'> %> directory)> > # if directory / file that> # is to be created already> # exists then 'FileExistsError'> # will be raised by os.mkdir() method> > # Similarly, if the specified path> # is invalid 'FileNotFoundError' Error> # will be raised>

Lähtö:

 Traceback (most recent call last): File 'gfg.py', line 18, in os.mkdir(path) FileExistsError: [WinError 183] Cannot create a file when that file / /already exists: 'D:/Pycharm projects/GeeksForGeeks' 

Esimerkki #3: Käsittelyvirhe käytön aikana os.mkdir()> menetelmä.




# Python program to explain os.mkdir() method> > # importing os module> import> os> > # path> path> => 'D:/Pycharm projects / GeeksForGeeks'> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> try> :> > os.mkdir(path)> except> OSError as error:> > print> (error)>

Lähtö:

 [WinError 183] Cannot create a file when that file/ /already exists: 'D:/Pycharm projects/GeeksForGeeks' 

Käyttämällä os.makedirs()

os.makedirs()> Pythonin menetelmää 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:

 D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil 

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

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

Parametri:
polku: Polkumainen objekti, joka edustaa tiedostojärjestelmän polkua. Polun kaltainen objekti on joko merkkijono tai tavuinen objekti, joka edustaa polkua.
tila (valinnainen): Kokonaisluku, joka edustaa juuri luodun hakemiston tilaa. Jos tämä parametri jätetään pois, käytetään oletusarvoa Oo777.
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.

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

Esimerkki 1: Käyttö os.makedirs()> tapa luoda hakemisto.




# Python program to explain os.makedirs() method> > # importing os module> import> os> > # Leaf directory> directory> => 'Nikhil'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)> > # Directory 'GeeksForGeeks' and 'Authors' will> # be created too> # if it does not exists> > > > # Leaf directory> directory> => 'c'> > # Parent Directories> parent_dir> => 'D:/Pycharm projects/techcodeview.com/a/b'> > # mode> mode> => 0o666> > path> => os.path.join(parent_dir, directory)> > # Create the directory 'c'> > os.makedirs(path, mode)> print> (> 'Directory '% s' created'> %> directory)> > > # 'GeeksForGeeks', 'a', and 'b'> # will also be created if> # it does not exists> > # If any of the intermediate level> # directory is missing> # os.makedirs() method will> # create them> > # os.makedirs() method can be> # used to create a directory tree>

Lähtö:

 Directory 'Nikhil' created Directory 'c' created 

Esimerkki 2:




# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> > > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> os.makedirs(path)> print> (> 'Directory '% s' created'> %> directory)>

Lähtö:

 Traceback (most recent call last): File 'gfg.py', line 22, in os.makedirs(path) File 'C:UsersNikhil AggarwalAppDataLocalProgramsPython/ / Python38-32libos.py', line 221, in makedirs mkdir(name, mode) FileExistsError: [WinError 183] Cannot create a file when that/ / file already exists: 'D:/Pycharm projects/GeeksForGeeks/AuthorsNikhil' 

Esimerkki #3: Virheiden käsittely os.makedirs()-menetelmää käytettäessä.




# Python program to explain os.makedirs() method> > # importing os module> import> os> > # os.makedirs() method will raise> # an OSError if the directory> # to be created already exists> # But It can be suppressed by> # setting the value of a parameter> # exist_ok as True> > # Directory> directory> => 'Nikhil'> > # Parent Directory path> parent_dir> => 'D:/Pycharm projects/GeeksForGeeks/Authors'> > # Path> path> => os.path.join(parent_dir, directory)> > # Create the directory> # 'Nikhil'> try> :> > os.makedirs(path, exist_ok> => True> )> > print> (> 'Directory '%s' created successfully'> %> directory)> except> OSError as error:> > print> (> 'Directory '%s' can not be created'> %> directory)> > # By setting exist_ok as True> # error caused due already> # existing directory can be suppressed> # but other OSError may be raised> # due to other error like> # invalid path name>

Lähtö:

 Directory 'Nikhil' created successfully