Ako získať aktuálny pracovný adresár v Pythone

How Get Current Working Directory Python



Názov súboru alebo priečinka môže byť použitý s úplnou cestou alebo iba uvedením názvu súboru alebo priečinka, aby sa mohol použiť v skripte. Úplná cesta k súboru alebo priečinku z koreňového adresára je určená absolútnou cestou. Ak sa názov súboru používa bez názvu skriptu, potom sa ako názov cesty k súboru považuje aktuálny pracovný adresár a nazýva sa relatívna cesta. V Pythone je aktuálny pracovný adresár nastavený na umiestnenie adresára, odkiaľ sa skript python spustí. V Pythone existuje mnoho modulov na získanie aktuálneho pracovného adresára. V tomto návode sú zobrazené spôsoby, ako získať aktuálny pracovný adresár pomocou rôznych modulov v Pythone.

Príklad 1: Použitie modulu pathlib na získanie aktuálneho pracovného adresára

Trieda cesty modul pathlib sa používa na čítanie aktuálneho pracovného adresára vykonávajúceho skriptu. Vytvorte skript pythonu s nasledujúcim kódom na čítanie a tlač aktuálneho pracovného adresára pomocou modulu pathlib. The metóda cwd () triedy Path sa používa na tlač aktuálneho pracovného adresára, odkiaľ sa skript spúšťa.







# Importujte cestu z modulu pathlib

odpathlibimportCesta

# Načítajte cestu aktuálneho pracovného adresára

current_working_directory=Cesta.cwd()

# Vytlačte umiestnenie aktuálneho pracovného adresára

vytlačiť(„Umiestnenie aktuálneho pracovného adresára je:“)

vytlačiť(current_working_directory)

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu sa vo výstupe ukázala cesta aktuálneho pracovného adresára bez názvu skriptu.





Príklad 2: Použitie normpath () a abspath () na získanie aktuálneho pracovného adresára

Použitie modulu os je ďalším spôsobom, ako získať aktuálny pracovný adresár. V triede cesty modulu os existujú rôzne metódy na načítanie aktuálneho pracovného adresára. Normpat () a metódy abspath () sú oni dvaja. Tieto metódy vrátia aktuálny pracovný adresár ako reťazec. Vytvorte súbor pythonu pomocou nasledujúceho skriptu, aby ste skontrolovali účely týchto funkcií.





# Import os modulu

import ty

# Vytlačte aktuálny pracovný adresár pomocou funkcie normpath ()

vytlačiť('Aktuálny pracovný adresár (pomocou normpath ()) je:')

vytlačiť(ty.cesta.meno priezviska(ty.cesta.normpat(__súbor__)))

# Vytlačte aktuálny pracovný adresár pomocou funkcie abspath ()

vytlačiť(' nAktuálny pracovný adresár (pomocou abspath ()) je: ')

vytlačiť(ty.cesta.abspath('.'))

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu sa vo výstupe ukázala cesta aktuálneho pracovného adresára bez názvu skriptu.



Príklad 3: Použitie realpath () na získanie aktuálneho pracovného adresára

The skutočná cesta () je ďalšou metódou na načítanie aktuálneho pracovného adresára. Vytvorte súbor pythonu s nasledujúcim skriptom na vytlačenie aktuálneho pracovného adresára s názvom skriptu pomocou súboru metóda realpath () . V scenári to trvá __súbor__ ako hodnota argumentu obsahujúca názov cesty k súboru, do ktorého je importovaný modul os.

# Import os modulu

import ty

# Prečítajte si aktuálny pracovný adresár pomocou funkcie realpath ()

real_path= ty.cesta.skutočná cesta(__súbor__)

# Vytlačte aktuálny pracovný adresár s názvom skriptu

vytlačiť(' nAktuálny pracovný adresár s názvom skriptu je: ')

vytlačiť(real_path)

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu sa vo výstupe ukázala cesta aktuálneho pracovného adresára s názvom skriptu.

Príklad 4: Použitie getcwd () na získanie aktuálneho pracovného adresára

Pomocou funkcia getcwd () modulu os je najjednoduchší spôsob, ako získať aktuálny pracovný adresár vykonávajúceho skriptu. Neobsahuje žiadny argument a vracia CWD ako reťazec. Vytvorte súbor pythonu pomocou nasledujúceho skriptu a skontrolujte používanie súboru funkcia getcwd () . Aktuálny pracovný adresár je vytlačený na začiatku skriptu. Ďalej sa aktuálna cesta k adresáru zmení pomocou súboru funkcia chdir () . The príkaz getcwd () sa volá znova po zmene adresára.

# Import os modulu

import ty

# Vytlačte aktuálny pracovný adresár pomocou funkcie getcwd ()

vytlačiť(„Aktuálny pracovný adresár je: n', ty.getcwd())

# Zmeňte aktuálny pracovný adresár

ty.chdir(' / etc / mail')

# Po zmene vytlačte aktuálny pracovný adresár

vytlačiť(' nAktuálny pracovný adresár po zmene je: n', ty.getcwd())

Výkon:

Po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu bola pred zmenou adresára vytlačená aktuálna cesta k pracovnému adresáru bez názvu skriptu. Ďalej bola vytlačená zmenená cesta k adresáru.

Príklad-5: Použitie getcwd () s try-okrem na získanie Aktuálneho pracovného adresára

Vytvorte súbor python s nasledujúcim skriptom, ktorý zmení aktuálny pracovný adresár na základe vstupnej hodnoty a zvládne rôzne typy chýb. Spustením skriptu je možné spracovať tri typy chýb. The Chyba FileNotFoundError sa vygeneruje, ak cesta prevzatá zo vstupu neexistuje. The Chyba NotADirectoryError sa vygeneruje, ak cesta prevzatá zo vstupu nie je adresárom. The Chyba povolenia sa vygeneruje, ak cesta vybratá zo vstupu nie je prístupná.

# Importujte modul os

import ty

# Zadajte cestu k adresáru

cwd= vstup('Zadajte cestu aktuálneho pracovného adresára: n')


skúsiť:

# Zmeňte aktuálny pracovný adresár

ty.chdir(cwd)

# Vytlačte aktuálny pracovný adresár pomocou funkcie getcwd ()

vytlačiť(„Aktuálny pracovný adresár je: n', ty.getcwd())

# Ak adresár neexistuje, zvýšte chybu

okremFileNotFoundError:

vytlačiť('Adresár neexistuje.')

# Zvýšte chybu, ak vstupná cesta nie je adresár

okremNotADirectoryError:

vytlačiť('%s nie je adresár'%(cwd))

# Ak nie je adresár prístupný, zvýšte chybu

okremPermissionError:

vytlačiť('Povolenie na zmenu adresára bolo odmietnuté.')

Výkon:

Ak cesta existuje, po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup. Tu existuje zvolená vstupná cesta a na výstupe sa vytlačil zmenený pracovný adresár.


Ak cesta neexistuje, po spustení vyššie uvedeného skriptu sa zobrazí nasledujúci výstup.


Nasledujúci výstup sa objaví po spustení vyššie uvedeného skriptu, ak nie je dostupná cesta prístupná.

Záver:

Použitie modulov pathlib a os na čítanie aktuálneho pracovného adresára je ukázané v tomto návode pomocou rôznych príkladov. V tomto návode bol tiež ukázaný spôsob získania aktuálneho pracovného adresára po zmene aktuálneho pracovného adresára na základe zadania používateľa.