Ako zmeniť pracovný adresár v Pythone

How Change Working Directory Python



Pracovný adresár je aktuálny adresár, v ktorom pracujeme a z ktorého je spustený skript; v rámci tohto adresára máme prístup k mnohým súborom (tým, ktoré sa v ňom nachádzajú). Niekedy však potrebujeme zmeniť adresáre a prechádzať tam a späť medzi súbormi a priečinkami. V tomto návode sa naučíme, ako zmeniť pracovný adresár v Pythone.

MODUL OS

V prvom rade, aby sme to dosiahli, budeme potrebovať modul os v Pythone. Pretože je predinštalovaný, nie je potrebné nič inštalovať. Modul OS sa v Pythone zvyčajne používa na interakciu, správu a úpravu súborov a priečinkov v systéme. Môžeme napríklad vytvárať/odstraňovať adresáre, meniť pracovné adresáre, súbory s návodom, kontrolovať, či súbory existujú atď. Netreba dodávať, že je to veľmi užitočný modul.







Získanie aktuálneho pracovného adresára

Na získanie aktuálneho pracovného adresára používame príponu metóda getcwd () z modulu os. Tu upozorňujeme, že nebol predložený žiaden argument. V mojom prípade bol výstup /home/kalyani/PycharmProjects/pythonProject1 na počítači Ubuntu (so systémom PyCharm). To znamená, že hlavný skript - main.py - sa nachádza v tomto priečinku (pythonProject1). A pamätajte si, pracovný adresár, v prvom rade priečinok!



import ty

# Získajte aktuálny pracovný adresár

aktuálny_adresár= ty.getcwd()

vytlačiť(„Váš aktuálny pracovný adresár je %s“% current_directory)



Zmena aktuálneho pracovného adresára

Zmena pracovného adresára je jednoduchá pomocou metódy chdir (), ktorá ako reťazec vyžaduje presne jeden argument - cestu k novému umiestneniu.





import ty

# Získajte aktuálny pracovný adresár

aktuálny_adresár= ty.getcwd()

vytlačiť(„Váš aktuálny pracovný adresár je %s“% current_directory)

Prvá vec, ktorú musíte urobiť, je nastaviť novú cestu do pracovného adresára. Na Ubuntu je to veľmi jednoduché!

# nastavme nový pracovný adresár

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

V systéme Windows musíte na definovanie adresára použiť dvojité spätné lomky.



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

Ďalej definujeme klauzulu try-okrem. Ak cesta existuje, použijeme metódu chdir () na zmenu pracovného adresára na nový pracovný adresár. Ak cesta nie je adresárom, vyvolá chybu!

skúsiť:

ty.chdir(new_working_directory)

vytlačiť('Pracovný adresár bol zmenený!')

vytlačiť('WD: %s'%ty.getcwd())


okremNotADirectoryError:

vytlačiť(„Nevybrali ste si adresár.“)


okremFileNotFoundError:

vytlačiť('Priečinok sa nenašiel. Cesta je nesprávna. ')


okremPermissionError:

vytlačiť('K tomuto priečinku/súboru nemáte prístup.')

Celý kód by vyzeral takto:

import ty

# Získajte aktuálny pracovný adresár

aktuálny_adresár= ty.getcwd()

vytlačiť(„Váš aktuálny pracovný adresár je %s“% current_directory)

# nastavme nový pracovný adresár

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

new_working_directory=r'C: Uslúžiť nnikdy Ddoska PythonDirectory '

skúsiť:

ty.chdir(new_working_directory)

vytlačiť('Pracovný adresár bol zmenený!')

vytlačiť('WD: %s'%ty.getcwd())


okremNotADirectoryError:

vytlačiť(„Nevybrali ste si adresár.“)


okremFileNotFoundError:

vytlačiť('Priečinok sa nenašiel. Cesta je nesprávna. ')


okremPermissionError:

vytlačiť('K tomuto priečinku/súboru nemáte prístup.')

Chyby môžu v skutočnosti spôsobiť rôzne typy výnimiek:

i. NotADirectoryError:

Predpokladajme napríklad, že som pre cestu alebo nový pracovný adresár napísal nasledujúci kód:

new_working_directory= 'C:\Používatelia\nikdy\Pracovná plocha\Adresár Python\text.txt '

Tu si môžete všimnúť, že ukazujem cestu k textovému dokumentu s názvom text.txt. A ten vyvolá chybu známu ako NotADirectoryError. Inými slovami, vaša cesta musí smerovať k nejakému adresáru.

ii. FileNotFoundError:

Ak cesta neexistuje, vyvolá sa príkaz FileNotFoundError. Predpokladajme teda, že momentálne nemám na pracovnej ploche adresár s názvom PythonDirectory a svoju cestu som nastavil na:

new_working_directory= 'C: Uslúžiť nnikdy Ddoska PythonDirectory '

Bude hádzať a FileNotFoundError . Táto chyba jednoducho znamená, že adresár, na ktorý ukazujeme, neexistuje alebo nebol nájdený.

iii. PermissionError:

TO PermissionError sa vyvolá, ak používateľ nemá dostatočné oprávnenia na úpravu alebo prístup k zvolenému adresáru.

iv. Chyba syntaxe:

K chybe syntaxe dôjde, ak je v ceste chyba syntaxe. Ak v systéme Windows napíšeme, aby sme povedali:

new_working_directory= 'C: Uslúžiť nnikdy Ddoska PythonDirectory '

Je vyvolaná chyba synthaxu! Chybu syntaxe je však oveľa ťažšie zachytiť, pretože je potrebné ju vyhodnotiť, importovať alebo vykonať. Keď teda píšeme bloky s výnimkou pokusov, je ťažšie zachytiť takúto chybu.

V systéme Windows je možné cestu zapísať jedným z troch rôznych spôsobov, aby sa predišlo chybám, aby nedošlo k žiadnym chybám:

Metóda 1: V tejto metóde pridáme r pred stanovením reťazca.

new_working_directory=r'C: Uslúžiť nnikdy Ddoska PythonDirectory '

Metóda 2: Používame dvojité spätné lomítka.

new_working_directory= 'C:\Používatelia\nikdy\Pracovná plocha\PythonDirectory '

Metóda 3: Používame jedno lomítko.

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

PATH MODUL

Pracovný adresár môžeme tiež zmeniť pomocou modulu cesty. Najprv nainštalujte cestu nasledovne (uviedol som aj odkaz na modul):

cesta inštalácie pip

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

Ďalej napíšeme:

odcestaimportCesta

import ty

Najprv skontrolujeme aktuálny pracovný adresár pomocou modulu os a metódy getcwd ().

# skontrolujeme aktuálny pracovný adresár

cwd= ty.getcwd()

vytlačiť('Aktuálny pracovný adresár je: %s'% cwd)

vytlačiť(„---------------------------------------------“)

Ďalej nastavte cestu k novému pracovnému adresáru. V tomto prípade som sa rozhodol ísť príkladom na počítači so systémom Windows:

# nastavte cestu k novému pracovnému adresáru

nová_cesta= 'C:\Používatelia\nikdy\Pracovná plocha\PythonDirectory '

Na zmenu pracovného adresára použite Path (). Cesta () tu obsahuje iba jeden argument: skutočnú cestu k novému pracovnému adresáru a na splnenie úlohy používa metódu chdir ().

# zmeniť pracovný adresár

Cesta(nová_cesta).chdir()

Znova skontrolujte, či bol zmenený pracovný adresár. A tu, ako vidíte na obrázku, pracovný adresár bol skutočne zmenený!

# Znova skontrolujte pracovný adresár

# bolo to zmenené?

cwd= ty.getcwd()

vytlačiť(„Nový pracovný adresár je %s“% cwd)

Zmena pracovných adresárov je jednoduchá úloha a vyžaduje iba jednu metódu - metódu chdir (cesta). V závislosti od toho, či ste na počítači so systémom Windows alebo Linux, si však musíte dávať pozor na to, ako zadáte cestu ako reťazec. Ak je zadaný nesprávne, môže spôsobiť chybu!

Šťastné kódovanie!