logo

Python | metóda os.makedirs().

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 tomto článku uvidíme, ako vytvoriť adresáre rekurzívne pomocou modulu os a tiež o metóde os.makedirs().

Syntax funkcie os.makedirs() Pythonu

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



Parameter:

  1. 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.
  2. 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.
  3. 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. Pre hodnotu True ponechá adresár nezmenený.

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

os.makedirs() metóda v Pythone

os.medirs() metóda v Python 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.medirs() metóda ich vytvorí všetky.



Zvážte napríklad nasledujúcu cestu:

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

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

Príklady funkcií os.makedirs() Pythonu

Nižšie je uvedených niekoľko príkladov funkcie os.makedirs(), pomocou ktorej môžeme vidieť, ako vytvoriť adresáre rekurzívne pomocou os modul :



Vytvorenie adresára pomocouos.makedirs()>

V tomto príkladeos.makedirs()>metóda sa používa na vytváranie vnorených adresárov. Prvá sekcia vytvorí adresár s názvom ihritik v rámci cesty k adresáru Authors. Druhá sekcia so špecifikovanými oprávneniami vytvorí adresár c vnorený do 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)>

>

>

Výkon:

Directory 'ihritik' created Directory 'c' created>

Chyby pri používaní metódy os.makedirs().

V tomto príkladeos.makedirs()>metóda sa pokúša vytvoriť adresár s názvom ihritik v rámci cesty GeeksForGeeks. Ak adresár už existuje, metóda vyvolá anOSError>. Po úspešnom vytvorení sa vytlačí potvrdzujúca správa.

pripojenie k databáze v jazyku Java

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

>

>

Výkon:

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

Ošetrenie chýb pri použití metódy os.makedirs().

V tomto príkladeos.makedirs()>metóda sa používa sexist_ok>parameter nastavený naTrue>potlačiťOSError>ak už adresár existuje. Ak adresár neexistuje, vytvorí sa. Avšak, inéOSError>Výnimky, ako napríklad neplatný názov cesty, je stále možné vyvolať a je potrebné s nimi zaobchádzať samostatne.

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

>

>

Výkon:

Directory 'ihritik' created successfully>