Kako dobiti trenutni radni imenik u Pythonu

How Get Current Working Directory Python



Naziv datoteke ili mape može se koristiti s punim putem ili samo spomenuti naziv datoteke ili mape samo za upotrebu u skripti. Puna putanja datoteke ili mape iz korijenskog direktorija navedena je apsolutnom stazom. Kad se naziv datoteke koristi bez naziva staze u skripti, tada se Trenutni radni imenik pretpostavlja kao naziv putanje datoteke i naziva se relativna staza. U Pythonu je Trenutni radni imenik postavljen na lokaciju direktorija odakle se izvršava skripta python. Mnogi moduli postoje u pythonu za dobivanje trenutnog radnog imenika. Načini dohvaćanja trenutnog radnog imenika pomoću različitih modula u Pythonu prikazani su u ovom vodiču.

Primjer-1: Korištenje pathlib modula za dobivanje trenutnog radnog imenika

Klasa staza modul pathlib koristi se za čitanje trenutnog radnog direktorija izvršne skripte. Napravite python skriptu sa sljedećim kodom za čitanje i ispis trenutnog radnog imenika pomoću modula pathlib. The cwd () metoda klase Path koristi se za ispis trenutnog radnog direktorija iz kojeg se skripta izvršava.







# Uvezite Path from pathlib modul

izpathlibuvozStaza

# Dohvatite putanju trenutnog radnog imenika

trenutni_radni_direktorij=Staza.cwd()

# Ispišite lokaciju trenutnog radnog imenika

ispisati('Mjesto trenutnog radnog imenika je:')

ispisati(trenutni_radni_direktorij)

Izlaz:

Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte. Ovdje je put izlaznog trenutnog radnog imenika bez naziva skripte prikazan.





Primjer-2: Korištenje normpath () i abspath () za dobivanje trenutnog radnog imenika

Korištenje os modula još je jedan način za dohvaćanje trenutnog radnog imenika. U klasi staza os modula postoje različite metode za dohvaćanje trenutnog radnog imenika. Normpath () i metode abspath () jesu njih dvoje. Ove metode vraćaju trenutni radni direktorij kao niz. Napravite python datoteku sa sljedećom skriptom kako biste provjerili svrhe ovih funkcija.





# Uvezi OS modul

uvoz vas

# Ispišite trenutni radni direktorij pomoću funkcije normpath ()

ispisati('Trenutni radni direktorij (pomoću normpath ()) je:')

ispisati(vas.staza.dirname(vas.staza.normpath(__datoteka__)))

# Ispišite trenutni radni direktorij pomoću funkcije abspath ()

ispisati(' nTrenutni radni direktorij (koristeći abspath ()) je: ')

ispisati(vas.staza.abspath('.'))

Izlaz:

Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte. Ovdje je put izlaznog trenutnog radnog imenika bez naziva skripte prikazan.



Primjer-3: Korištenje realpath () za dobivanje trenutnog radnog imenika

The pravi put () je još jedna metoda za dohvaćanje trenutnog radnog imenika. Napravite python datoteku sa sljedećom skriptom za ispis trenutnog radnog imenika s imenom skripte pomoću metoda realpath () . U scenariju je potrebno __datoteka__ kao vrijednost argumenta koja sadrži naziv putanje datoteke u koju se uvozi os modul.

# Uvezi OS modul

uvoz vas

# Pročitajte trenutni radni direktorij pomoću funkcije realpath ()

pravi_put= vas.staza.pravi put(__datoteka__)

# Ispišite trenutni radni direktorij s imenom skripte

ispisati(' nTrenutni radni direktorij s imenom skripte je: ')

ispisati(pravi_put)

Izlaz:

Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte. Ovdje je put izlaznog trenutnog radnog imenika s imenom skripte prikazan.

Primjer-4: Upotreba getcwd () za dobivanje trenutnog radnog imenika

Koristiti getcwd () funkcija modula os najjednostavniji je način za dohvaćanje trenutnog radnog direktorija izvršne skripte. Ne sadrži nikakav argument i vraća CWD kao niz. Izradite python datoteku sa sljedećom skriptom kako biste provjerili upotrebu getcwd () funkcija . Trenutni radni direktorij ispisan je na početku skripte. Zatim se trenutni put direktorija mijenja pomoću funkcija chdir () . The naredba getcwd () ponovno se poziva nakon promjene imenika.

# Uvezi OS modul

uvoz vas

# Ispišite trenutni radni direktorij pomoću funkcije getcwd ()

ispisati('Trenutni radni imenik je: n', vas.getcwd())

# Promijenite trenutni radni direktorij

vas.chdir(' / etc / mail')

# Ispis trenutnog radnog imenika nakon promjene

ispisati(' nTrenutni radni direktorij nakon promjene je: n', vas.getcwd())

Izlaz:

Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte. Ovdje je prije promjene direktorija ispisan trenutni put radnog direktorija bez naziva skripte. Zatim je ispisana promijenjena putanja direktorija.

Primjer-5: Upotreba getcwd () s try-except za dobivanje trenutnog radnog imenika

Napravite python datoteku sa sljedećom skriptom za promjenu trenutnog radnog imenika na temelju ulazne vrijednosti i rješavanje različitih vrsta pogrešaka. Izvođenjem skripte mogu se riješiti tri vrste pogrešaka. The Pogreška FileNotFoundError će se generirati ako put preuzet iz ulaza ne postoji. The Greška NotADirectoryError će se generirati ako put iz unosa nije direktorij. The Greška PermissionError će se generirati ako put do ulaza nije dostupan.

# Uvezite modul os

uvoz vas

# Unesite put do imenika

cwd= ulazni('Unesite put trenutnog radnog imenika: n')


probati:

# Promijenite trenutni radni direktorij

vas.chdir(cwd)

# Ispišite trenutni radni direktorij pomoću funkcije getcwd ()

ispisati('Trenutni radni imenik je: n', vas.getcwd())

# Povećajte pogrešku ako direktorij ne postoji

osimFileNotFoundError:

ispisati('Imenik ne postoji.')

# Pogreška se povećava ako ulazna staza nije direktorij

osimNotADirectoryError:

ispisati('%s nije direktorij'%(cwd))

# Pogreška se povećava ako direktorij nije dostupan

osimGreška dozvole:

ispisati('Dopuštenje za promjenu imenika odbijeno.')

Izlaz:

Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte ako put postoji. Ovdje postoji zauzeta ulazna putanja, a promijenjeni radni imenik je ispisan u izlazu.


Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte ako put ne postoji.


Sljedeći izlaz pojavit će se nakon izvršavanja gornje skripte ako odabrana staza nije dostupna.

Zaključak:

Korištenje pathlib i os modula za čitanje trenutnog radnog imenika prikazano je u ovom vodiču pomoću različitih primjera. Način dohvaćanja trenutnog radnog imenika nakon promjene trenutnog radnog imenika na temelju unosa korisnika također je prikazan u ovom vodiču.