Modul OS v Pythonu poskytuje funkce pro interakci s operačním systémem. OS spadá pod standardní obslužné moduly Pythonu. Tento modul poskytuje přenosný způsob používání funkcí závislých na operačním systému. Theos>aos.path>moduly obsahují mnoho funkcí pro interakci se systémem souborů. Všechny funkce v modulu OS se zvyšujíOSError>v případě neplatných nebo nepřístupných názvů souborů a cest nebo jiných argumentů, které mají správný typ, ale nejsou akceptovány operačním systémem.
V modulu OS jsou k dispozici různé metody pro vytvoření režiséra. Tyto jsou -
Pomocí os.mkdir()
os.mkdir()>metoda v Pythonu se používá k vytvoření adresáře s názvem path se zadaným číselným režimem. Tato metoda zvyšujeFileExistsError>pokud adresář, který má být vytvořen, již existuje.
Syntax: os.mkdir(cesta, režim = 0o777, *, dir_fd = Žádný)
Parametr:
cesta: Objekt podobný cestě představující cestu systému souborů. Objekt podobný cestě je buď řetězec nebo objekt typu bytes představující cestu.
režim (volitelné): Celočíselná hodnota představující režim adresáře, který má být vytvořen. Pokud je tento parametr vynechán, použije se výchozí hodnota Oo777.
dir_fd (volitelné): Popisovač souboru odkazující na adresář. Výchozí hodnota tohoto parametru je Žádná.
Pokud je zadaná cesta absolutní, pak je dir_fd ignorován.
Poznámka: ‚*‘ v seznamu parametrů znamená, že všechny následující parametry (zde v našem případě ‚dir_fd‘) jsou parametry pouze pro klíčová slova a lze je zadat pomocí jejich názvu, nikoli jako poziční parametr.
Typ vrácení: Tato metoda nevrací žádnou hodnotu.
Příklad č. 1: Použitíos.mkdir()>způsob vytvoření adresáře/souboru
# 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ýstup:
obj v jazyce Java
Directory 'techcodeview.com' created Directory 'Geeks' created>
Příklad č. 2: Chyby při používáníos.mkdir()>metoda.
# 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ýstup:
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'>
Příklad č. 3: Chyba manipulace při používáníos.mkdir()>metoda.
# 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ýstup:
[WinError 183] Cannot create a file when that file/ /already exists: 'D:/Pycharm projects/GeeksForGeeks'>
Použití os.medirs()
os.makedirs()>metoda v Pythonu se používá k vytvoření adresáře rekurzivně. To znamená, že když při vytváření listového adresáře chybí jakýkoli adresář střední úrovně,os.makedirs()>metoda je všechny vytvoří.
Zvažte například následující cestu:
D:/Pycharm projects/GeeksForGeeks/Authors/Nikhil>
Předpokládejme, že chceme vytvořit adresář ‚Nikhil‘, ale adresář ‚GeeksForGeeks‘ a ‚Authors‘ nejsou v cestě k dispozici. Pakos.makedirs()>metoda vytvoří všechny nedostupné/chybějící adresáře v zadané cestě. Nejprve budou vytvořeny „GeeksForGeeks“ a „Authors“ a poté bude vytvořen adresář „Nikhil“.
Syntax: os.makedirs(cesta, režim = 0o777, exist_ok = False)
Parametr:
cesta: Objekt podobný cestě představující cestu systému souborů. Objekt podobný cestě je buď řetězec nebo objekt typu bytes představující cestu.
režim (volitelné): Celočíselná hodnota představující režim nově vytvořeného adresáře. Pokud je tento parametr vynechán, použije se výchozí hodnota Oo777.
exist_ok (volitelné): Pro tento parametr je použita výchozí hodnota False. Pokud cílový adresář již existuje, vyvolá se OSError, pokud je jeho hodnota False, jinak ne.Typ vrácení: Tato metoda nevrací žádnou hodnotu.
Příklad č. 1: Použitíos.makedirs()>způsob vytvoření adresáře.
# 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ýstup:
Directory 'Nikhil' created Directory 'c' created>
Pří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ýstup:
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'>
Příklad č. 3: Ošetření chyb při použití metody 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ýstup:
Directory 'Nikhil' created successfully>