Python | os.makedirs () metoda

|

Wszystkie funkcje w module os wywołują OSError dla nieprawidłowych lub nieosiągalnych nazw plików i ścieżek lub innych argumentów, które są poprawnego typu, ale nie są akceptowane przez system operacyjny.

os.makedirs () w Python służy do rekursywnego tworzenia katalogu. Oznacza to, że podczas tworzenia katalogu docelowego, jeśli brakuje dowolnego katalogu warstwy pośredniej, os.makedirs() utworzy je wszystkie.
Rozważmy na przykład następującą ścieżkę:

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

Załóżmy, że chcemy utworzyć katalog „ihritik”, ale „ GeeksForGeeks ”i„ Kredyty ”nie są dostępne podczas transportu. Następnie os.makedirs() utworzy cały niedostępny / brakujący katalog w określonej ścieżce. Najpierw zostaną utworzone GeeksForGeeks i Authors, a następnie zostanie utworzony katalog ihritik.

Składnia: os.makedirs (ścieżka , tryb = 0o777, exist_ok = fałsz)

Parametr:
ścieżka : obiekt podobny do ścieżki, reprezentujący ścieżkę systemu plików. Obiekt podobny do ścieżki to ciąg znaków lub obiekt bajtów reprezentujący ścieżkę.
tryb (opcjonalne): Wartość całkowita reprezentująca tryb nowo utworzonego katalogu. Jeśli ten parametr zostanie pominięty, zostanie użyta wartość domyślna Oo777.
istnieje_ok (opcjonalnie): dla tego parametru jest używana wartość domyślna False. Jeśli katalog docelowy już istnieje, zgłaszany jest błąd OSError, jeśli jego wartość to False, w przeciwnym razie nie.

Typ zwrotu: Ta metoda nie zwraca żadnej wartości.

Kod nr 1: Korzystanie z os.makedirs () metoda tworzenia katalogu

# Program w Python wyjaśniający os. makedirs () metoda


# moduł importu systemu operacyjnego

import os


# Katalog Leaf

katalog = "ihritik"


# katalogi nadrzędne

parent_di r = "/ strona główna / Użytkownik / Dokumenty / GeeksForGeeks / Autorzy"


# Ścieżka

ścieżka = os.path.join ( (katalog_nadrzędny, katalog)


# Utwórz katalog
# & # 39; ihritik & # 39;
os.makedirs (ścieżka)

print ( "Directory’% s’ utworzony " % katalog)


# Katalogi & # 39; GeeksForGeeks & # 39; i & # 39; Autorzy & # 39; czy
# zostanie również utworzony
# jeśli nie istnieje


# Katalog Leaf

katalog = " c "


# Katalogi nadrzędne

parent_dir = " / home / User / Documents / Python.Engineering / a / b "


# Tryb

tryb = 0o666

ścieżka = os.path.join ( (katalog_nadrzędny, katalog)


# Utwórz katalog
# & # 39; c & # 39;


os.makedirs (ścieżka, tryb)

print ( "Utworzono katalog’% s’" % katalog )


< klasa kodu = "komentarze"> # & # 39; GeeksForGeeks & # 39 ;, & # 39; & # 39; i & # 39; b & # 39;
# zostanie również wygenerowany, jeśli
# nie istnieje


# Jeśli którykolwiek z poziomu średniozaawansowanego
# brak katalogu
# os.makedirs () metoda
# utwórz je


# os. Metodą makedirs () może być
# służy do tworzenia drzewa katalogów

Wyjście :

 Utworzono katalog „ihritik” Utworzono katalog „c” 

Kod nr 2: Błędy podczas korzystania z systemu operacyjnego.makedirs () metoda

< /table>

Wyjście:

 Traceback (ostatnie wywołanie ostatnie): Plik „makedirs.py", wiersz 21, w os.makedirs (ścieżka) Plik "/usr/lib/python3.6/os.py", wiersz 220, w makedirs< /a> mkdir (nazwa, tryb) FileExistsError: [Errno 17] Plik istnieje: ’/ home / User / Documents / GeeksForGeeks / ihritik’ 

Kod 3: Obsługa błędów podczas korzystania z os.makedirs () metoda

# Program w Python do wyjaśnienia met os.makedirs () kod


# import modułu systemu operacyjnego

import os


# os.makedirs () wywoła
# błąd OSE jeśli katalog
# już istnieje do utworzenia


# Katalog

katalog = "ihritik" < /p>


# Ścieżka do katalogu nadrzędnego

parent_dir = "/ home / User / Documents / GeeksForGeeks"


# Ścieżka

ścieżka = os.path.join ( (katalog_nadrzędny, katalog)


# Utwórz katalog
# & # 39; ihritik & # 39;
os.makedirs (ścieżka)

print ( " Katalog ’% s’ utworzony" % katalog)

# Program w Python wyjaśniający system operacyjny.makedirs () metoda


# import modułu systemu operacyjnego

import system operacyjny


Metoda # os.makedirs () wywoła
# błąd OSE, jeśli katalog
# już istnieje do utworzenia
# Ale może być pominięte
# ustawienie wartości parametru
# istnieje_ok jako Prawda


# Katalog

katalog = "ihritik"


# Ścieżka do katalogu nadrzędnego

parent_dir = "/ home / ihritik / Desktop / GeeksForGeeks"


# Ścieżka

ścieżka = os.path.join ( (katalog_nadrzędny, katalog)


# Utwórz katalog
# & # 39; ihritik & # 39 ;

spróbuj :

os.makedirs (ścieżka, exist_ok = True )

print ( "Katalog’% s’ utworzony pomyślnie" % katalog)

z wyjątkiem OSError jako błąd:

print ( " Nie można utworzyć katalogu ’% s’ " )


# Ustawienie Existence_of_s jako True
# błąd już zgłoszony
# istniejący katalog może zostać pominięty
# ale inny błąd OSE może zostać zgłoszony
# z powodu innego błędu, takiego jak
# nieprawidłowa ścieżka

Wyjście:

 Katalog „ihritik” utworzony pomyślnie 

Link: https:/ / dok. python.org/3/library/os.html

Mamy nadzieję, że ten artykuł pomógł Ci rozwiązać problem. Oprócz Python | os.makedirs () metoda sprawdź inne tematy związane z makedirs.

Chcesz się wyróżniać w Pythonie? Zobacz naszą recenzję najlepszych kursów online Pythona 2022. Jeśli interesujesz się Data Science, sprawdź także, jak nauczyć się programowania w R.

Nawiasem mówiąc, ten materiał jest również dostępny w innych językach:



Chen Danburry

Vigrinia | 2022-11-26

Dzięki za wyjaśnienie! Utknąłem z Python | os.makedirs () metoda przez kilka godzin, w końcu się udało 🤗. Po prostu nie jestem pewien, czy to najlepsza metoda

Xu Williams

Milan | 2022-11-26

Prosto i przejrzyście. Dziękuję za podzielenie się. Python | os.makedirs () metoda i inne sprawy z makedirs zawsze były moim słabym punktem 😁.. Wykorzystam to w mojej pracy licencjackiej

Schneider Jackson

Warsaw | 2022-11-26

Prosto i przejrzyście. Dziękuję za podzielenie się. Python | os.makedirs () metoda i inne sprawy z makedirs zawsze były moim słabym punktem 😁.. Sprawdzane wczoraj, działa!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

Common xlabel/ylabel for matplotlib subplots

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

12 answers

NUMPYNUMPY

Flake8: Ignore specific warning for entire file

12 answers

NUMPYNUMPY

glob exclude pattern

12 answers

NUMPYNUMPY

How to avoid HTTP error 429 (Too Many Requests) python

12 answers

NUMPYNUMPY

Python CSV error: line contains NULL byte

12 answers

NUMPYNUMPY

csv.Error: iterator should return strings, not bytes

12 answers


Wiki

Python | How to copy data from one Excel sheet to another

Common xlabel/ylabel for matplotlib subplots

Check if one list is a subset of another in Python

sin

How to specify multiple return types using type-hints

exp

Printing words vertically in Python

exp

Python Extract words from a given string

Cyclic redundancy check in Python

Finding mean, median, mode in Python without libraries

cos

Python add suffix / add prefix to strings in a list

Why do I get "Pickle - EOFError: Ran out of input" reading an empty file?

Python - Move item to the end of the list

Python - Print list vertically