Jak získat aktuální pracovní adresář v Pythonu

How Get Current Working Directory Python



Název souboru nebo složky lze použít s úplnou cestou nebo pouze s uvedením názvu souboru nebo složky pouze pro použití ve skriptu. Úplná cesta k souboru nebo složce z kořenového adresáře je určena absolutní cestou. Pokud je ve skriptu použit název souboru bez názvu cesty, je jako název cesty souboru považován aktuální pracovní adresář a nazývá se relativní cesta. V Pythonu je aktuální pracovní adresář nastaven na umístění adresáře, odkud se skript pythonu spouští. V Pythonu existuje mnoho modulů pro získání aktuálního pracovního adresáře. V tomto kurzu se ukázaly způsoby, jak načíst aktuální pracovní adresář pomocí různých modulů v Pythonu.

Příklad-1: Použití modulu pathlib k získání aktuálního pracovního adresáře

Třída cesty modul pathlib slouží ke čtení aktuálního pracovního adresáře prováděcího skriptu. Vytvořte skript pythonu s následujícím kódem pro čtení a tisk aktuálního pracovního adresáře pomocí modulu pathlib. The metoda cwd () třídy Path se používá k tisku aktuálního pracovního adresáře, odkud se skript spouští.







# Importujte cestu z modulu pathlib

zstezkaimportCesta

# Načíst cestu aktuálního pracovního adresáře

aktuální_pracovní_adresář=Cesta.cwd()

# Vytiskněte umístění aktuálního pracovního adresáře

tisk('Umístění aktuálního pracovního adresáře je:')

tisk(aktuální_pracovní_adresář)

Výstup:

Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Zde se ve výstupu ukázala cesta aktuálního pracovního adresáře bez názvu skriptu.





Příklad-2: Použití normpath () a abspath () k získání aktuálního pracovního adresáře

Použití modulu os je dalším způsobem, jak načíst aktuální pracovní adresář. Ve třídě cesty modulu os existují různé metody pro načtení aktuálního pracovního adresáře. Normpath () a metody abspath () jsou oni dva. Tyto metody vrátí aktuální pracovní adresář jako řetězec. Vytvořte soubor pythonu pomocí následujícího skriptu a zkontrolujte účely těchto funkcí.





# Import os modulu

import vy

# Vytiskněte aktuální pracovní adresář pomocí funkce normpath ()

tisk('Aktuální pracovní adresář (pomocí normpath ()) je:')

tisk(vy.cesta.dirname(vy.cesta.normpat(__soubor__)))

# Vytiskněte aktuální pracovní adresář pomocí funkce abspath ()

tisk(' nAktuální pracovní adresář (pomocí abspath ()) je: ')

tisk(vy.cesta.abspath('.'))

Výstup:

Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Zde se ve výstupu ukázala cesta aktuálního pracovního adresáře bez názvu skriptu.



Příklad 3: Použití realpath () k získání aktuálního pracovního adresáře

The realpath () je další metoda k načtení aktuálního pracovního adresáře. Vytvořte soubor pythonu s následujícím skriptem a vytiskněte aktuální pracovní adresář s názvem skriptu pomocí metoda realpath () . Ve skriptu to vyžaduje __soubor__ jako hodnota argumentu obsahující cestu k souboru, do kterého je importován modul os.

# Import os modulu

import vy

# Přečtěte si aktuální pracovní adresář pomocí funkce realpath ()

skutečná_cesta= vy.cesta.skutečná cesta(__soubor__)

# Vytiskněte aktuální pracovní adresář s názvem skriptu

tisk(' nAktuální pracovní adresář s názvem skriptu je: ')

tisk(skutečná_cesta)

Výstup:

Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Zde se ve výstupu ukázala cesta aktuálního pracovního adresáře s názvem skriptu.

Příklad-4: Použití getcwd () k získání aktuálního pracovního adresáře

Za použití funkce getcwd () modulu os je nejjednodušší způsob, jak načíst aktuální pracovní adresář prováděcího skriptu. Neobsahuje žádný argument a vrací CWD jako řetězec. Vytvořte soubor pythonu pomocí následujícího skriptu a zkontrolujte použití funkce getcwd () . Na začátku skriptu je vytištěn aktuální pracovní adresář. Dále se aktuální cesta k adresáři změní pomocí funkce chdir () . The příkaz getcwd () se volá znovu po změně adresáře.

# Import os modulu

import vy

# Vytiskněte aktuální pracovní adresář pomocí funkce getcwd ()

tisk('Aktuální pracovní adresář je: n', vy.getcwd())

# Změňte aktuální pracovní adresář

vy.chdir(' / etc / mail')

# Vytiskněte aktuální pracovní adresář po změně

tisk(' nAktuální pracovní adresář po změně je: n', vy.getcwd())

Výstup:

Po spuštění výše uvedeného skriptu se zobrazí následující výstup. Zde byla před změnou adresáře vytištěna aktuální cesta k pracovnímu adresáři bez názvu skriptu. Dále byla vytištěna změněná cesta k adresáři.

Příklad-5: Použití getcwd () s try-kromě pro získání aktuálního pracovního adresáře

Vytvořte soubor pythonu pomocí následujícího skriptu, který změní aktuální pracovní adresář na základě vstupní hodnoty a zvládne různé typy chyb. Spuštěním skriptu lze zpracovat tři typy chyb. The Chyba FileNotFoundError bude vygenerováno, pokud cesta převzatá ze vstupu neexistuje. The Chyba NotADirectoryError bude generováno, pokud cesta převzatá ze vstupu není adresář. The Chyba PermissionError bude generováno, pokud cesta převzatá ze vstupu není přístupná.

# Importujte modul os

import vy

# Zadejte cestu k adresáři

cwd= vstup('Zadejte cestu aktuálního pracovního adresáře: n')


Snaž se:

# Změňte aktuální pracovní adresář

vy.chdir(cwd)

# Vytiskněte aktuální pracovní adresář pomocí funkce getcwd ()

tisk('Aktuální pracovní adresář je: n', vy.getcwd())

# Pokud adresář neexistuje, zvyšte chybu

až naFileNotFoundError:

tisk('Adresář neexistuje.')

# Pokud vstupní cesta není adresář, zvyšte chybu

až naNotADirectoryError:

tisk('%s není adresář'%(cwd))

# Pokud není adresář přístupný, zvyšte chybu

až naPermissionError:

tisk('Oprávnění ke změně adresáře bylo odepřeno.')

Výstup:

Pokud cesta existuje, zobrazí se po spuštění výše uvedeného skriptu následující výstup. Zde existuje převzatá vstupní cesta a ve výstupu se vytiskl změněný pracovní adresář.


Pokud cesta neexistuje, zobrazí se po spuštění výše uvedeného skriptu následující výstup.


Následující výstup se objeví po spuštění výše uvedeného skriptu, pokud není přijatá cesta přístupná.

Závěr:

Použití modulů pathlib a os ke čtení aktuálního pracovního adresáře je ukázáno v tomto kurzu pomocí různých příkladů. V tomto kurzu byl také ukázán způsob, jak načíst aktuální pracovní adresář po změně aktuálního pracovního adresáře na základě vstupu uživatele.