Cum se schimbă directorul de lucru în Python

How Change Working Directory Python



Un director de lucru este un director curent în care lucrăm și din care rulează scriptul; în acest director, avem acces la multe fișiere (cele aflate în interiorul acestuia). Cu toate acestea, uneori trebuie să schimbăm directoare și să mergem înainte și înapoi între fișiere și foldere. În acest tutorial, vom învăța cum să schimbăm directorul de lucru în Python.

MODULUL OS

În primul rând, pentru a realiza acest lucru, vom avea nevoie de modulul os din Python. Deoarece este preinstalat, nu este nevoie să instalați nimic. Modulul OS este de obicei utilizat în Python pentru a interacționa, gestiona și modifica fișierele și folderele de pe sistem. De exemplu, putem crea / elimina directoare, putem schimba directoare de lucru, fișiere pastrative, putem verifica dacă există fișiere etc. Nu trebuie să spunem că este un modul foarte util.







Obținerea directorului de lucru curent

Pentru a obține directorul de lucru curent, folosim metoda getcwd () din modulul os. Vă rugăm să rețineți aici că nu este trecut niciun argument. În cazul meu, rezultatul a fost / home / kalyani / PycharmProjects / pythonProject1 pe o mașină Ubuntu (care rulează PyCharm). Aceasta înseamnă că scriptul principal - main.py - se află în acest folder (pythonProject1). Și atenție, directorul de lucru, în primul rând un folder!



import tu

# Obțineți directorul de lucru curent

directorul curent= tu.getcwd()

imprimare(„Directorul dvs. de lucru actual este% s”% directorul curent)



Schimbarea directorului de lucru curent

Schimbarea directorului de lucru este ușoară cu metoda chdir (), care ia exact un argument - calea către noua locație ca șir.





import tu

# Obțineți directorul de lucru curent

directorul curent= tu.getcwd()

imprimare(„Directorul dvs. de lucru actual este% s”% directorul curent)

Primul lucru de făcut este să setați noua cale către directorul de lucru. Pe Ubuntu, acest lucru este foarte simplu!

# să stabilim un nou director de lucru

director_lucrare_nou= „/ home / kalyani / Desktop / PythonDirectory”

Pe Windows, trebuie să utilizați bare oblice duble pentru a defini directorul.



#new_working_directory = 'C: \ Users \ never \ Desktop \ PythonDirectory'

În continuare, definim o clauză try-except. Dacă calea există, vom folosi metoda chdir () pentru a schimba directorul de lucru într-un director de lucru nou. Dacă calea nu este un director, va genera o eroare!

încerca:

tu.chdir(director_lucrare_nou)

imprimare(„Directorul de lucru a fost modificat!”)

imprimare(„WD:% s”%tu.getcwd())


cu exceptiaNotADirectoryError:

imprimare(„Nu ați ales un director.”)


cu exceptiaFileNotFoundError:

imprimare(„Dosarul nu a fost găsit. Calea este incorectă. ')


cu exceptiaPermissionError:

imprimare(„Nu aveți acces la acest folder / fișier.”)

Codul complet ar arăta astfel:

import tu

# Obțineți directorul de lucru curent

directorul curent= tu.getcwd()

imprimare(„Directorul dvs. de lucru actual este% s”% directorul curent)

# să stabilim un nou director de lucru

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

director_lucrare_nou=r„C: Uservi nvreodată Desktop PythonDirectory '

încerca:

tu.chdir(director_lucrare_nou)

imprimare(„Directorul de lucru a fost modificat!”)

imprimare(„WD:% s”%tu.getcwd())


cu exceptiaNotADirectoryError:

imprimare(„Nu ați ales un director.”)


cu exceptiaFileNotFoundError:

imprimare(„Dosarul nu a fost găsit. Calea este incorectă. ')


cu exceptiaPermissionError:

imprimare(„Nu aveți acces la acest folder / fișier.”)

De fapt, greșelile ar putea ridica diferite tipuri de excepții:

eu. NotADirectoryError:

Acum, să presupunem că, pentru o instanță, am scris următorul cod pentru calea sau noul director de lucru:

director_lucrare_nou= „C:\Utilizatori\nu\Desktop\PythonDirectory\text.txt '

Ceea ce puteți observa aici este că îndrept calea către un document text numit text.txt. Și acesta din urmă va arunca o eroare cunoscută sub numele de NotADirectoryError. Cu alte cuvinte, calea dvs. trebuie să indice un fel de director.

ii. FileNotFoundError:

Un FileNotFoundError este aruncat atunci când calea nu există. Deci, să presupunem pentru moment că nu am un director cu numele PythonDirectory pe desktopul meu și că mi-am setat calea la:

director_lucrare_nou= „C: Uservi nvreodată Desktop PythonDirectory '

Va arunca o FileNotFoundError . Această eroare înseamnă pur și simplu că directorul către care indicăm nu există sau nu a fost găsit.

iii. PermissionError:

LA PermissionError este ridicat atunci când utilizatorul nu are permisiuni adecvate pentru a modifica sau accesa directorul ales.

iv. Eroare de sintaxă:

O eroare de sintaxă apare atunci când există o eroare de sintaxă în cale. Pe Windows, dacă scriem să spunem:

director_lucrare_nou= „C: Uservi nvreodată Desktop PythonDirectory '

O eroare de sintaxă este aruncată! Cu toate acestea, o eroare de sintaxă este mult mai greu de detectat, deoarece trebuie evaluată, importată sau executată. Ca atare, atunci când scriem blocuri try-except, este mai greu să detectăm o astfel de eroare.

Pe Windows, pentru a evita orice erori, calea poate fi scrisă într-unul din cele trei moduri diferite, astfel încât să nu fie aruncate erori:

Metoda 1: În această metodă, adăugăm un r înainte de a stabili șirul.

director_lucrare_nou=r„C: Uservi nvreodată Desktop PythonDirectory '

Metoda 2: Folosim backslashes duble.

director_lucrare_nou= „C:\Utilizatori\nu\Desktop\PythonDirectory '

Metoda 3: Folosim o singură bară directă.

director_lucrare_nou= „C: / Users / never / Desktop / PythonDirectory”

MODULUL CĂILE

De asemenea, putem schimba directorul de lucru folosind modulul cale. Mai întâi, instalați calea după cum urmează (am dat și linkul către modul):

calea instalării pip

(https: // pypi.org/ proiect / cale /)

Apoi, scriem:

dincaleimportcale

import tu

Mai întâi, să verificăm directorul de lucru curent utilizând modulul os și metoda getcwd ().

# să verificăm directorul de lucru curent

cwd= tu.getcwd()

imprimare(„Directorul de lucru curent este:% s”% cwd)

imprimare(„---------------------------------------------”)

Apoi, setați calea către noul director de lucru. În acest caz, am ales să setez exemplul pe o mașină Windows:

# setați calea către noul director de lucru

calea_ nouă= „C:\Utilizatori\nu\Desktop\PythonDirectory '

Utilizați Path () pentru a schimba directorul de lucru. Calea () ia aici un singur argument: calea reală către noul director de lucru și folosește metoda chdir () pentru a îndeplini sarcina.

# schimbați directorul de lucru

cale(calea_ nouă).chdir()

Verificați din nou dacă directorul de lucru a fost modificat. Și aici, după cum puteți vedea în imagine, directorul de lucru a fost într-adevăr schimbat!

# Verificați din nou directorul de lucru

# a fost schimbat?

cwd= tu.getcwd()

imprimare(„Noul director de lucru este% s”% cwd)

Schimbarea directoarelor de lucru este o sarcină ușoară și necesită o singură metodă - metoda chdir (cale). Cu toate acestea, în funcție de faptul dacă vă aflați pe o mașină Windows sau pe o mașină Linux, trebuie să fiți atenți la modul în care introduceți calea ca un șir. Dacă este introdus incorect, poate genera o eroare!

Codificare fericită!