Sådan ændres arbejdsmappen i Python

How Change Working Directory Python



Et arbejdskatalog er et aktuelt bibliotek, hvor vi arbejder, og som scriptet køres fra; i denne mappe har vi adgang til mange filer (dem der findes i den). Men nogle gange skal vi ændre biblioteker og gå frem og tilbage mellem filer og mapper. I denne vejledning lærer vi, hvordan du ændrer arbejdskataloget i Python.

OS -MODUL

For det første har vi brug for OS -modulet i Python for at opnå dette. Da det kommer forudinstalleret, er det ikke nødvendigt at installere noget. OS -modulet bruges typisk i Python til at interagere, administrere og ændre filer og mapper på systemet. For eksempel kan vi oprette/fjerne biblioteker, ændre arbejdsmapper, gennemgangsfiler, kontrollere, om der findes filer osv. ... Det er overflødigt at sige, at det er et meget nyttigt modul.







Henter den aktuelle arbejdskatalog

For at få den aktuelle arbejdskatalog bruger vi getcwd () metode fra OS -modulet. Bemærk venligst her, at der ikke er bestået noget argument. I mit tilfælde var output /home/kalyani/PycharmProjects/pythonProject1 på en Ubuntu -maskine (kører PyCharm). Det betyder, at hovedscriptet - main.py - er placeret i denne mappe (pythonProject1). Og husk dig, arbejdsmappen, først og fremmest en mappe!



importere du

# Hent det aktuelle arbejdskatalog

nuværende_katalog= du.getcwd()

Print('Din nuværende arbejdsmappe er %s'% nuværende_katalog)



Ændring af det aktuelle arbejdskatalog

Det er let at ændre dit arbejdskatalog med metoden chdir (), der tager præcis et argument - stien til den nye placering som en streng.





importere du

# Hent det aktuelle arbejdskatalog

nuværende_katalog= du.getcwd()

Print('Din nuværende arbejdsmappe er %s'% nuværende_katalog)

Den første ting at gøre er at indstille den nye sti til arbejdskataloget. På Ubuntu er dette meget ligetil!

# lad os indstille et nyt arbejdskatalog

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

I Windows skal du bruge dobbelte skråstreger til at definere biblioteket.



#new_working_directory = 'C: \ Brugere \ aldrig \ Desktop \ PythonDirectory'

Dernæst definerer vi en prøve-undtagen klausul. Hvis stien findes, bruger vi metoden chdir () til at ændre arbejdskataloget til et nyt arbejdskatalog. Hvis stien ikke er et bibliotek, udsender den en fejl!

prøve:

du.chdir(new_working_directory)

Print('Arbejdskataloget er blevet ændret!')

Print('WD: %s'%du.getcwd())


undtagenNotADirectoryError:

Print('Du har ikke valgt et bibliotek.')


undtagenFileNotFoundError:

Print('Mappen blev ikke fundet. Stien er forkert. ')


undtagenTilladelse Fejl:

Print('Du har ikke adgang til denne mappe/fil.')

Den fulde kode ville se sådan ud:

importere du

# Hent det aktuelle arbejdskatalog

nuværende_katalog= du.getcwd()

Print('Din nuværende arbejdsmappe er %s'% nuværende_katalog)

# lad os indstille et nyt arbejdskatalog

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

new_working_directory=r'C: Utjene nnogensinde Desktop PythonDirectory '

prøve:

du.chdir(new_working_directory)

Print('Arbejdskataloget er blevet ændret!')

Print('WD: %s'%du.getcwd())


undtagenNotADirectoryError:

Print('Du har ikke valgt et bibliotek.')


undtagenFileNotFoundError:

Print('Mappen blev ikke fundet. Stien er forkert. ')


undtagenTilladelse Fejl:

Print('Du har ikke adgang til denne mappe/fil.')

Faktisk kan fejl forårsage forskellige former for undtagelser:

jeg. NotADirectoryError:

Antag nu for en instans, at jeg skrev følgende kode til stien eller det nye arbejdskatalog:

new_working_directory= 'C:\Brugere\aldrig\Desktop\PythonDirectory\text.txt '

Det, du kan bemærke her, er, at jeg peger stien til et tekstdokument kaldet text.txt. Og sidstnævnte vil kaste en fejl kendt som en NotADirectoryError. Med andre ord skal din sti pege på en mappe af en eller anden art.

ii. FileNotFoundError:

En FileNotFoundError kastes, når stien ikke findes. Så antag for øjeblikket, at jeg ikke har en mappe med navnet PythonDirectory på mit skrivebord, og at jeg har angivet min sti til:

new_working_directory= 'C: Utjene nnogensinde Desktop PythonDirectory '

Det vil kaste en FileNotFoundError . Denne fejl betyder simpelthen, at det bibliotek, vi peger på, ikke eksisterer eller ikke blev fundet.

iii. Tilladelse Fejl:

TIL Tilladelse Fejl rejses, når brugeren ikke har tilstrækkelige tilladelser til at ændre eller få adgang til det valgte bibliotek.

iv. Syntaks fejl:

En syntaksfejl opstår, når der er en syntaksfejl i stien. I Windows, hvis vi skriver for at sige:

new_working_directory= 'C: Utjene nnogensinde Desktop PythonDirectory '

Der bliver kastet en syntaxfejl! En syntaksfejl er imidlertid meget sværere at fange, da den skal evalueres, importeres eller udføres. Som sådan er det sværere at fange sådan en fejl, når vi skriver blokke uden prøve.

For at undgå fejl kan stien i Windows skrives ud på en af ​​tre forskellige måder, så der ikke kastes fejl:

Metode 1: I denne metode tilføjer vi en r, før vi angiver strengen.

new_working_directory=r'C: Utjene nnogensinde Desktop PythonDirectory '

Metode 2: Vi bruger dobbelte skråstreger.

new_working_directory= 'C:\Brugere\aldrig\Desktop\PythonDirectory '

Metode 3: Vi bruger en enkelt skråstreg.

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

STI -MODUL

Vi kan også ændre arbejdsmappen ved hjælp af sti -modulet. Installer først stien som følger (jeg har også givet linket til modulet):

pip installeringssti

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

Dernæst skriver vi:

frastiimportereSti

importere du

Lad os først kontrollere den aktuelle arbejdskatalog ved hjælp af os -modulet og metoden getcwd ().

# lad os kontrollere det aktuelle arbejdskatalog

cwd= du.getcwd()

Print('Den aktuelle arbejdskatalog er: %s'% cwd)

Print('---------------------------------------------')

Indstil derefter stien til det nye arbejdskatalog. I dette tilfælde har jeg valgt at angive eksemplet på en Windows -maskine:

# indstil stien til det nye arbejdskatalog

ny_sti= 'C:\Brugere\aldrig\Desktop\PythonDirectory '

Brug Path () til at ændre arbejdsmappen. Path () tager kun et argument her: den faktiske sti til det nye arbejdskatalog og bruger metoden chdir () til at udføre opgaven.

# ændre arbejdsmappen

Sti(ny_sti).chdir()

Kontroller igen, om arbejdskataloget er blevet ændret. Og her, som du kan se på billedet, er arbejdskataloget faktisk blevet ændret!

# Kontroller arbejdsmappen igen

# er det blevet ændret?

cwd= du.getcwd()

Print('Den nye arbejdsmappe er %s'% cwd)

Det er let at ændre arbejdskataloger og tager kun én metode - chdir (sti) metoden. Afhængigt af om du er på en Windows -maskine eller en Linux -maskine, skal du dog være forsigtig med, hvordan du indtaster stien som en streng. Hvis det er forkert indtastet, kan det give en fejl!

Glad kodning!