Vytvorte adresár v Pythone

Modul OS v Pythone poskytuje funkcie na interakciu s operačným systémom. OS patrí do štandardných modulov Pythonu. Tento modul poskytuje prenosný spôsob používania funkcií závislých od operačného systému. The os> a os.path> moduly obsahujú mnoho funkcií na interakciu so súborovým systémom. Všetky funkcie v module OS sa zvyšujú OSError> v prípade neplatných alebo neprístupných názvov súborov a ciest alebo iných argumentov, ktoré majú správny typ, ale nie sú akceptované operačným systémom.

V module OS sú k dispozícii rôzne metódy na vytvorenie režiséra. Toto sú –

Použitie os.mkdir()

os.mkdir()> metóda v Pythone sa používa na vytvorenie adresára s názvom cesta so zadaným číselným režimom. Táto metóda zvyšuje FileExistsError> ak adresár, ktorý sa má vytvoriť, už existuje.

Syntax: os.mkdir(cesta, režim = 0o777, *, dir_fd = Žiadne)

Parameter:
cesta: Objekt podobný ceste predstavujúci cestu súborového systému. Objekt podobný ceste je buď reťazec alebo objekt typu bytes predstavujúci cestu.
režim (voliteľné): Celočíselná hodnota predstavujúca režim adresára, ktorý sa má vytvoriť. Ak je tento parameter vynechaný, použije sa predvolená hodnota Oo777.
dir_fd (voliteľné): Deskriptor súboru odkazujúci na adresár. Predvolená hodnota tohto parametra je Žiadna.
Ak je zadaná cesta absolútna, potom sa dir_fd ignoruje.

Poznámka: „*“ v zozname parametrov znamená, že všetky nasledujúce parametre (tu v našom prípade „dir_fd“) sú parametre iba pre kľúčové slová a možno ich zadať pomocou ich názvu, nie ako pozičného parametra.

Typ návratu: Táto metóda nevracia žiadnu hodnotu.

Príklad č. 1: Použitie os.mkdir()> spôsob vytvorenia adresára/súboru




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

Výkon:

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

Príklad č. 2: Chyby pri používaní os.mkdir()> metóda.




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

Výkon:

 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' 

Príklad č. 3: Chyba pri manipulácii počas používania os.mkdir()> metóda.




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

Výkon:

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

Použitie os.medirs()

os.makedirs()> metóda v Pythone sa používa na vytvorenie adresára rekurzívne. To znamená, že pri vytváraní listového adresára, ak chýba akýkoľvek adresár strednej úrovne, os.makedirs()> metóda ich vytvorí všetky.
Zvážte napríklad nasledujúcu cestu:

 D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil 

Predpokladajme, že chceme vytvoriť adresár „Nikhil“, ale adresár „GeeksForGeeks“ a „Autori“ nie sú v ceste k dispozícii. Potom os.makedirs()> metóda vytvorí všetky nedostupné/chýbajúce adresáre v zadanej ceste. Najprv sa vytvoria „GeeksForGeeks“ a „Authors“, potom sa vytvorí adresár „Nikhil“.

Syntax: os.makedirs(cesta, režim = 0o777, exist_ok = False)

Parameter:
cesta: Objekt podobný ceste predstavujúci cestu súborového systému. Objekt podobný ceste je buď reťazec alebo objekt typu bytes predstavujúci cestu.
režim (voliteľné): Celočíselná hodnota predstavujúca režim novovytvoreného adresára. Ak je tento parameter vynechaný, použije sa predvolená hodnota Oo777.
exist_ok (voliteľné): Pre tento parameter sa používa predvolená hodnota False. Ak cieľový adresár už existuje, vyvolá sa OSError, ak je jeho hodnota False, inak nie.

Typ návratu: Táto metóda nevracia žiadnu hodnotu.

Príklad č. 1: Použitie os.makedirs()> spôsob vytvorenia adresára.




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

Výkon:

 Directory 'Nikhil' created Directory 'c' created 

Príklad č. 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)>

Výkon:

 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' 

Príklad č. 3: Ošetrenie chýb pri použití metódy os.makedirs().




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

Výkon:

 Directory 'Nikhil' created successfully