Kako promijeniti radni imenik u Pythonu

How Change Working Directory Python



Radni direktorij je trenutni direktorij u kojem radimo i iz kojeg se pokreće skripta; unutar ovog direktorija imamo pristup mnogim datotekama (onima koje se nalaze u njemu). Međutim, ponekad moramo promijeniti direktorije i kretati se naprijed -natrag između datoteka i mapa. U ovom ćemo vodiču naučiti kako promijeniti radni direktorij u Pythonu.

MODUL OS -a

Prije svega, da bismo to postigli, trebat će nam os modul u Pythonu. Budući da dolazi unaprijed instaliran, nema potrebe ništa instalirati. Modul OS obično se koristi u Pythonu za interakciju, upravljanje i izmjenu datoteka i mapa u sustavu. Na primjer, možemo stvoriti/ukloniti direktorije, promijeniti radne direktorije, proći kroz datoteke, provjeriti postoje li datoteke itd. ... Nepotrebno je reći da je to vrlo koristan modul.







Dobivanje trenutnog radnog imenika

Da bismo dobili trenutni radni direktorij, koristimo metoda getcwd () iz os modula. Ovdje imajte na umu da nijedan argument nije prenet. U mom slučaju izlaz je bio /home/kalyani/PycharmProjects/pythonProject1 na Ubuntu stroju (pokrenut PyCharm). To znači da se glavna skripta - main.py - nalazi unutar ove mape (pythonProject1). I zapamtite, radni imenik, prije svega mapa!



uvoz vas

# Preuzmite trenutni radni direktorij

trenutni_direktorij= vas.getcwd()

ispisati('Vaš trenutni radni imenik je %s'% trenutni_direktorij)



Promjena trenutnog radnog imenika

Promjena radnog direktorija jednostavna je pomoću metode chdir (), koja uzima točno jedan argument - put do novog mjesta kao niz.





uvoz vas

# Preuzmite trenutni radni direktorij

trenutni_direktorij= vas.getcwd()

ispisati('Vaš trenutni radni imenik je %s'% trenutni_direktorij)

Prvo što trebate učiniti je postaviti novi put do radnog imenika. Na Ubuntuu ovo je vrlo jednostavno!

# postavimo novi radni direktorij

novi_radni_direktorij= '/home/kalyani/Desktop/PythonDirectory'

U sustavu Windows morate koristiti dvostruke obrnute kose crte za definiranje direktorija.



#new_working_directory = 'C: \ Korisnici \ nikad \ Desktop \ PythonDirectory'

Zatim definiramo klauzulu try-except. Ako put postoji, upotrijebit ćemo metodu chdir () za promjenu radnog direktorija u novi radni direktorij. Ako put nije direktorij, izbacit će pogrešku!

probati:

vas.chdir(novi_radni_direktorij)

ispisati('Radni imenik je promijenjen!')

ispisati('WD: %s'%vas.getcwd())


osimNotADirectoryError:

ispisati('Niste odabrali imenik.')


osimFileNotFoundError:

ispisati('Mapa nije pronađena. Put je netočan. ')


osimGreška dozvole:

ispisati('Nemate pristup ovoj mapi/datoteci.')

Cijeli kod bi izgledao ovako:

uvoz vas

# Preuzmite trenutni radni direktorij

trenutni_direktorij= vas.getcwd()

ispisati('Vaš trenutni radni imenik je %s'% trenutni_direktorij)

# postavimo novi radni direktorij

#new_working_directory = '/home/kalyani/Desktop/PythonDirectory'

novi_radni_direktorij=r'C: Uposlužiti nikad Desktop PythonDirectory '

probati:

vas.chdir(novi_radni_direktorij)

ispisati('Radni imenik je promijenjen!')

ispisati('WD: %s'%vas.getcwd())


osimNotADirectoryError:

ispisati('Niste odabrali imenik.')


osimFileNotFoundError:

ispisati('Mapa nije pronađena. Put je netočan. ')


osimGreška dozvole:

ispisati('Nemate pristup ovoj mapi/datoteci.')

Zapravo, pogreške mogu izazvati različite vrste iznimki:

i. NotADirectoryError:

Pretpostavimo sada za primjer da sam napisao sljedeći kod za put ili novi radni direktorij:

novi_radni_direktorij= 'C:\Korisnici\nikada\Desktop\PythonDirectory\text.txt '

Ono što ovdje možete primijetiti je da pokazujem put do tekstualnog dokumenta koji se zove text.txt. Potonji će baciti pogrešku poznatu kao NotADirectoryError. Drugim riječima, vaš put mora ukazivati ​​na nekakav direktorij.

ii. FileNotFoundError:

Pogreška FileNotFoundError izbacuje se ako staza ne postoji. Pretpostavimo za sada da na radnoj površini nemam direktorij s imenom PythonDirectory i da sam svoj put postavio na:

novi_radni_direktorij= 'C: Uposlužiti nikad Desktop PythonDirectory '

To će baciti a FileNotFoundError . Ova pogreška jednostavno znači da direktorij na koji upućujemo ne postoji ili nije pronađen.

iii. Greška dozvole:

DO DopuštenjeError se pokreće kada korisnik nema odgovarajuća dopuštenja za izmjenu ili pristup odabranom direktoriju.

iv. Sintaktička pogreška:

Sintaksna pogreška javlja se kada postoji sintaksna pogreška na putu. Na Windowsima ako napišemo da kažemo:

novi_radni_direktorij= 'C: Uposlužiti nikad Desktop PythonDirectory '

Došlo je do greške u sintaksi! Međutim, sintaksnu pogrešku je mnogo teže uhvatiti jer ju je potrebno ocijeniti, uvesti ili izvršiti. Kao takvo, kada pišemo try-except blokove, teže je uhvatiti takvu pogrešku.

U sustavu Windows, kako biste izbjegli bilo kakve pogreške, put se može zapisati na jedan od tri različita načina, tako da se ne pojavljuju pogreške:

Metoda 1: U ovoj metodi dodamo r prije postavljanja niza.

novi_radni_direktorij=r'C: Uposlužiti nikad Desktop PythonDirectory '

Metoda 2: Koristimo dvostruke kose crte.

novi_radni_direktorij= 'C:\Korisnici\nikada\Desktop\PythonDirectory '

Metoda 3: Koristimo jednu kosu crtu.

novi_radni_direktorij= 'C:/Users/never/Desktop/PythonDirectory'

MODUL PUTA

Radni direktorij možemo promijeniti i pomoću modula puta. Prvo instalirajte put na sljedeći način (dao sam i vezu do modula):

pip instalacijski put

(https: // pypi.org/projekt/put/)

Zatim pišemo:

izstazauvozStaza

uvoz vas

Prvo, provjerimo trenutni radni direktorij pomoću os modula i metode getcwd ().

# provjerimo trenutni radni direktorij

cwd= vas.getcwd()

ispisati('Trenutni radni direktorij je: %s'% cwd)

ispisati('---------------------------------------------')

Zatim postavite put do novog radnog imenika. U ovom slučaju odlučio sam postaviti primjer na Windows stroju:

# postavite put do novog radnog imenika

new_path= 'C:\Korisnici\nikada\Desktop\PythonDirectory '

Koristite Path () za promjenu radnog imenika. Path () ovdje uzima samo jedan argument: stvarni put do novog radnog imenika i koristi metodu chdir () za izvršavanje zadatka.

# promijenite radni direktorij

Staza(new_path).chdir()

Ponovno provjerite je li radni imenik promijenjen. I ovdje je, kao što vidite na slici, radni imenik doista promijenjen!

# Ponovno provjerite radni direktorij

# je li promijenjeno?

cwd= vas.getcwd()

ispisati('Novi radni direktorij je %s'% cwd)

Promjena radnih direktorija lak je zadatak i zahtijeva samo jednu metodu - metodu chdir (path). No, ovisno o tome jeste li na Windows stroju ili Linux stroju, morate biti oprezni pri unosu staze kao niza. Ako se unese pogrešno, može doći do pogreške!

Sretno kodiranje!