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.
os.mkdir()> metoda v Krajta se používá k vytvoření adresáře v Pythonu nebo k vytvoření adresáře s Python pojmenovanou cestou se zadaným číselným režimem. Tato metoda zvyšuje FileExistsError pokud adresář, který má být vytvořen, již existuje.
os.mkdir() Syntaxe v Pythonu
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žimu (nepovinné) : 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 (nepovinné) : Deskriptor 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.
Metoda os.mkdir() Příklady
Existují různé způsoby použití os.mkdir() k vytvoření adresáře v Pythonu nebo vytvoření adresáře pomocí Pythonu pomocí os.mkdir. Zde diskutujeme o některých obecných příkladech vytvoření adresáře v Pythonu nebo vytvoření adresáře v Pythonu, které následují .
Vytvořte adresář v Pythonu
V tomto příkladu kód používáos.mkdir()>na Krajta vytvořte složku dva adresáře: GeeksForGeeks a ihritik v adresáři /home/User/Documents. První adresář je vytvořen s výchozími oprávněními, zatímco druhý je vytvořen se zadanými oprávněními (režim 0o666).
Python3
výchozí parametry java
#Python create folder> # importing os module> import> os> > # Directory> directory>=> 'GeeksForGeeks'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # 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>=> 'ihritik'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # 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
Directory 'GeeksForGeeks' created Directory 'ihritik' created>
Chyby při použití metody os.mkdir().
V tomto příkladu skript Pythonu používá `os.mkdir()` k vytvoření adresáře s názvem GeeksForGeeks v cestě /home/User/Documents. Pokud adresář již existuje, vyvolá se `FileExistsError`. Pokud je zadaná cesta neplatná, zobrazí se `FileNotFoundError`.
Python3
#Python create folder> # importing os module> import> os> > # Directory> directory>=> 'GeeksForGeeks'> > # Parent Directory path> parent_dir>=> '/home/User/Documents'> > # Path> path>=> os.path.join(parent_dir, directory)> > # Create the directory> # 'GeeksForGeeks' in> # '/home / User / Documents'> os.mkdir(path)> print>(>'Directory '%s' created'> %>directory)> |
>
>Výstup
Traceback (most recent call last): File 'osmkdir.py', line 17, in os.mkdir(path) FileExistsError: [Errno 17] File exists: '/home/User/Documents/GeeksForGeeks'>
Chyba zpracování při použití metody os.mkdir().
V tomto příkladu se skript Pythonu pokouší vytvořit adresář s názvem GeeksForGeeks v cestě /home/User/Documents pomocí `os.mkdir(). Pokud adresář již existuje, zachytí se `OSError` a vytiskne se chybová zpráva.
Python3
java webové služby
# importing os module> import> os> # path> path>=> '/home/User/Documents/GeeksForGeeks'> # Create the directory> # 'GeeksForGeeks' in> # '/home/User/Documents'> try>:> >os.mkdir(path)> except> OSError as error:> >print>(error)> |
>
>Výstup
[Errno 17] File exists: '/home/User/Documents/GeeksForGeeks'>
Nejčastější dotazy
Jaký je rozdíl mezi os.mkdir() a os.makedirs()?
os.mkdir()>se používá k vytvoření jednoho adresáře a vyvolá chybu, pokud nadřazený adresář neexistuje.
os.makedirs()>vytváří nadřazené adresáře podle potřeby, což umožňuje vytváření vnořených adresářů, a nevyvolá chybu, pokud adresáře již existují.
Kdy bych měl použít pathlib.Path.mkdir() vs os.mkdir() nebo os.makedirs()?
Při práci s cestami a adresáři používejte `pathlib.Path.mkdir()`, protože poskytuje modernější a objektově orientovaný přístup k operacím souborového systému.
`os.mkdir()` a `os.makedirs()` jsou vhodné pro základní vytváření adresářů, ale `pathlib` je preferován pro pokročilejší manipulaci s cestami a správu adresářů.