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 moduluimport 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 moduluimport 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 osimport 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.