Kaip gauti dabartinį darbo katalogą „Python“

How Get Current Working Directory Python



Failo ar aplanko pavadinimą galima naudoti su visu keliu arba tiesiog paminėti failo ar aplanko pavadinimą, kad jis būtų naudojamas scenarijuje. Visas failo ar aplanko kelias iš šakninio katalogo nurodomas absoliučiu keliu. Kai failo pavadinimas naudojamas be scenarijaus kelio pavadinimo, dabartinis darbo katalogas laikomas failo kelio pavadinimu ir vadinamas santykiniu keliu. „Python“ dabartinis darbo katalogas yra nustatytas į katalogo vietą, iš kurios vykdomas „python“ scenarijus. „Python“ yra daug modulių, kad gautų dabartinį darbo katalogą. Šiame vadove parodyti būdai, kaip gauti dabartinį darbo katalogą naudojant skirtingus „Python“ modulius.

1 pavyzdys: „Pathlib“ modulio naudojimas norint gauti dabartinį darbo katalogą

Kelio klasė Pathlib modulis naudojamas dabartiniam vykdomojo scenarijaus darbiniam katalogui skaityti. Sukurkite „python“ scenarijų su šiuo kodu, kad galėtumėte perskaityti ir atsispausdinti esamą darbo katalogą naudodami „pathlib“ modulį. The cwd () metodas iš Path klasės naudojamas dabartiniam darbo katalogui, iš kurio vykdomas scenarijus, spausdinti.







# Importuokite kelią iš „pathlib“ modulio

nuokeliasimportasKelias

# Gaukite dabartinio darbo katalogo kelią

dabartinis_dirbimo_katalogas=Kelias.cwd()

# Atspausdinkite dabartinio darbo katalogo vietą

spausdinti(„Dabartinio darbo katalogo vieta yra:“)

spausdinti(dabartinis_dirbimo_katalogas)

Išėjimas:

Įvykdžius aukščiau pateiktą scenarijų, pasirodys ši išvestis. Čia išvestyje rodomas dabartinio darbo katalogo kelias be scenarijaus pavadinimo.





2 pavyzdys: Dabartinio darbo katalogo gavimas naudojant normpath () ir abspath ()

OS modulio naudojimas yra dar vienas būdas gauti dabartinį darbo katalogą. OS modulio kelių klasėje yra įvairių metodų, kaip gauti dabartinį darbo katalogą. Normatyvas () ir abspath () metodai yra jie du. Šie metodai grąžina dabartinį darbo katalogą kaip eilutę. Sukurkite „Python“ failą naudodami šį scenarijų, kad patikrintumėte šių funkcijų tikslus.





# Importuoti OS modulį

importas tu

# Atspausdinkite esamą darbo katalogą naudodami normpath () funkciją

spausdinti('Dabartinis darbo katalogas (naudojant normpath ()) yra:')

spausdinti(tu.kelias.dirvardas(tu.kelias.normatyvas(__file__)))

# Atspausdinkite esamą darbo katalogą naudodami funkciją „abspath“ ()

spausdinti(' nDabartinis darbo katalogas (naudojant abspath ()) yra: ')

spausdinti(tu.kelias.abspatas(''. '))

Išėjimas:

Įvykdžius aukščiau pateiktą scenarijų, pasirodys ši išvestis. Čia išvestyje rodomas dabartinio darbo katalogo kelias be scenarijaus pavadinimo.



3 pavyzdys: „Realpath“ () naudojimas norint gauti dabartinį darbo katalogą

The realus kelias () yra dar vienas būdas gauti dabartinį darbo katalogą. Sukurkite „Python“ failą naudodami šį scenarijų, kad išspausdintumėte dabartinį darbo katalogą su scenarijaus pavadinimu naudodami realpath () metodas . Scenariuje reikia __file__ kaip argumento reikšmę, kurioje yra failo kelio pavadinimas, kuriuo importuojamas OS modulis.

# Importuoti OS modulį

importas tu

# Perskaitykite dabartinį darbo katalogą naudodami realpath () funkciją

realus kelias= tu.kelias.realus kelias(__file__)

# Atspausdinkite dabartinį darbo katalogą su scenarijaus pavadinimu

spausdinti(' nDabartinis darbo katalogas su scenarijaus pavadinimu yra: ')

spausdinti(realus kelias)

Išėjimas:

Įvykdžius aukščiau pateiktą scenarijų, pasirodys ši išvestis. Čia išvestyje rodomas dabartinio darbo katalogo su scenarijaus pavadinimu kelias.

4 pavyzdys: Naudokite getcwd (), kad gautumėte dabartinį darbo katalogą

Naudojant funkcija getcwd () os modulio yra paprasčiausias būdas gauti dabartinį vykdomojo scenarijaus darbo katalogą. Jame nėra jokių argumentų ir grąžinama CWD kaip eilutė. Sukurkite „Python“ failą naudodami šį scenarijų, kad patikrintumėte, kaip naudojamas funkcija getcwd () . Dabartinis darbo katalogas spausdinamas scenarijaus pradžioje. Tada dabartinis katalogo kelias keičiamas naudojant chdir () funkcija . The komanda getcwd () pakeičiant katalogą dar kartą iškviečiamas.

# Importuoti OS modulį

importas tu

# Atspausdinkite esamą darbo katalogą naudodami funkciją getcwd ()

spausdinti(„Dabartinis darbo katalogas yra: n', tu.getcwd())

# Pakeiskite esamą darbo katalogą

tu.chdir(„ / etc / mail“)

# Po pakeitimo atsispausdinkite esamą darbo katalogą

spausdinti(' nDabartinis darbo katalogas po pakeitimo yra: n', tu.getcwd())

Išėjimas:

Įvykdžius aukščiau pateiktą scenarijų, pasirodys ši išvestis. Čia prieš keičiant katalogą buvo išspausdintas dabartinis darbo katalogo kelias be scenarijaus pavadinimo. Tada atspausdintas pakeistas katalogo kelias.

5 pavyzdys: Naudokite getcwd () su try-išskyrus, kad gautumėte dabartinį darbo katalogą

Sukurkite „Python“ failą naudodami šį scenarijų, kad pakeistumėte dabartinį darbo katalogą pagal įvesties vertę ir tvarkytumėte įvairių tipų klaidas. Vykdant scenarijų galima išspręsti trijų tipų klaidas. The „FileNotFoundError“ klaida bus sugeneruotas, jei iš įvesties pasirinktas kelias neegzistuoja. The NotADirectoryError klaida bus sukurtas, jei iš įvesties paimtas kelias nėra katalogas. The PermissionError klaida bus sugeneruotas, jei iš įvesties pasirinktas kelias nebus pasiekiamas.

# Importuokite OS modulį

importas tu

# Įveskite katalogo kelią

cwd= įvesties(„Įveskite dabartinio darbo katalogo kelią: n')


bandyti:

# Pakeiskite esamą darbo katalogą

tu.chdir(cwd)

# Atspausdinkite esamą darbo katalogą naudodami funkciją getcwd ()

spausdinti(„Dabartinis darbo katalogas yra: n', tu.getcwd())

# Padidinkite klaidą, jei katalogo nėra

išskyrusFileNotFoundError:

spausdinti(„Katalogas neegzistuoja“.)

# Padidinkite klaidą, jei įvesties kelias nėra katalogas

išskyrusNotADirectoryError:

spausdinti(„%s nėra katalogas“%(cwd))

# Padidinkite klaidą, jei katalogas nepasiekiamas

išskyrusLeidimo klaida:

spausdinti(„Leidimas pakeisti katalogą atmestas“.)

Išėjimas:

Šis kelias pasirodys po to, kai bus įvykdytas aukščiau pateiktas scenarijus, jei kelias yra. Čia yra pasirinktas įvesties kelias, o pakeistas darbo katalogas išspausdintas išvestyje.


Jei kelias neegzistuoja, pasirodys šis rezultatas, įvykdžius aukščiau pateiktą scenarijų.


Toliau pateikiamas rezultatas pasirodys įvykdžius aukščiau esantį scenarijų, jei pasirinktas kelias yra neprieinamas.

Išvada:

„Pathlib“ ir „os“ modulių naudojimas dabartiniam darbo katalogui skaityti parodytas šiame vadove, naudojant įvairius pavyzdžius. Šiame vadove taip pat buvo parodytas būdas gauti dabartinį darbo katalogą, pakeitus dabartinį darbo katalogą pagal vartotojo įvestį.