Kako spremeniti delovni imenik v Pythonu

How Change Working Directory Python



Delovni imenik je trenutni imenik, v katerem delamo in iz katerega se izvaja skript; v tem imeniku imamo dostop do številnih datotek (tistih, ki se nahajajo v njem). Vendar pa moramo včasih spremeniti imenike in se premikati med datotekami in mapami. V tej vadnici se bomo naučili, kako spremeniti delovni imenik v Pythonu.

MODUL OS

Najprej bomo za to potrebovali os modul v Pythonu. Ker je vnaprej nameščen, vam ni treba ničesar namestiti. Modul OS se običajno uporablja v Pythonu za interakcijo, upravljanje in spreminjanje datotek in map v sistemu. Na primer, lahko ustvarjamo/odstranjujemo imenike, spreminjamo delovne imenike, prehodne datoteke, preverjamo, ali datoteke obstajajo itd. ... Ni treba posebej poudarjati, da je to zelo uporaben modul.







Pridobivanje trenutnega delovnega imenika

Za pridobitev trenutnega delovnega imenika uporabljamo datoteko metoda getcwd () iz modula os. Upoštevajte, da tukaj ni podanih nobenih argumentov. V mojem primeru je bil rezultat /home/kalyani/PycharmProjects/pythonProject1 na računalniku Ubuntu (ki izvaja PyCharm). To pomeni, da se glavni skript - main.py - nahaja v tej mapi (pythonProject1). In upoštevajte, delovni imenik, v prvi vrsti mapa!



uvoz ti

# Pridobite trenutni delovni imenik

trenutni_direktorij= ti.getcwd()

tiskanje('Vaš trenutni delovni imenik je %s'% trenutni_direktorij)



Spreminjanje trenutnega delovnega imenika

Spreminjanje delovnega imenika je enostavno z metodo chdir (), ki vzame natanko en argument - pot do nove lokacije kot niz.





uvoz ti

# Pridobite trenutni delovni imenik

trenutni_direktorij= ti.getcwd()

tiskanje('Vaš trenutni delovni imenik je %s'% trenutni_direktorij)

Najprej morate nastaviti novo pot do delovnega imenika. Na Ubuntu je to zelo preprosto!

# nastavimo nov delovni imenik

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

V sistemu Windows morate za določitev imenika uporabiti dvojne poševnice.



#new_working_directory = 'C: \ Uporabniki \ nikoli \ Namizje \ PythonDirectory'

Nato določimo klavzulo try-except. Če pot obstaja, bomo z metodo chdir () spremenili delovni imenik v nov delovni imenik. Če pot ni imenik, se prikaže napaka!

poskusite:

ti.chdir(new_working_directory)

tiskanje('Delovni imenik je bil spremenjen!')

tiskanje('WD: %s'%ti.getcwd())


razenNotADirectoryError:

tiskanje('Niste izbrali imenika.')


razenFileNotFoundError:

tiskanje('Mape ni bilo mogoče najti. Pot je napačna. ')


razenPermissionError:

tiskanje('Nimate dostopa do te mape/datoteke.')

Celotna koda bi izgledala tako:

uvoz ti

# Pridobite trenutni delovni imenik

trenutni_direktorij= ti.getcwd()

tiskanje('Vaš trenutni delovni imenik je %s'% trenutni_direktorij)

# nastavimo nov delovni imenik

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

new_working_directory=r'C: Uslužiti nkdaj Desktop PythonDirectory '

poskusite:

ti.chdir(new_working_directory)

tiskanje('Delovni imenik je bil spremenjen!')

tiskanje('WD: %s'%ti.getcwd())


razenNotADirectoryError:

tiskanje('Niste izbrali imenika.')


razenFileNotFoundError:

tiskanje('Mape ni bilo mogoče najti. Pot je napačna. ')


razenPermissionError:

tiskanje('Nimate dostopa do te mape/datoteke.')

Pravzaprav lahko napake povzročijo različne vrste izjem:

jaz. NotADirectoryError:

Zdaj recimo, da sem za pot ali nov delovni imenik napisal naslednjo kodo:

new_working_directory= 'C:\Uporabniki\nikoli\Namizni računalnik\PythonDirectory\text.txt '

Tukaj lahko opazite, da usmerjam pot do besedilnega dokumenta, imenovanega text.txt. Slednji bo povzročil napako, imenovano NotADirectoryError. Z drugimi besedami, vaša pot mora kazati na nekakšen imenik.

ii. FileNotFoundError:

FileNotFoundError se vrne, ko pot ne obstaja. Recimo, da zaenkrat na svojem namizju nimam imenika z imenom PythonDirectory in da sem pot nastavil na:

new_working_directory= 'C: Uslužiti nkdaj Desktop PythonDirectory '

To bo vrglo a FileNotFoundError . Ta napaka preprosto pomeni, da imenik, na katerega kažemo, ne obstaja ali ga ni našel.

iii. PermissionError:

TO PermissionError se prikaže, ko uporabnik nima ustreznih dovoljenj za spreminjanje ali dostop do izbranega imenika.

iv. Napaka v sintaksi:

Napaka v sintaksi se pojavi, ko je na poti sintaktična napaka. Če v sistemu Windows napišemo:

new_working_directory= 'C: Uslužiti nkdaj Desktop PythonDirectory '

Napaka sintetaksa! Vendar je sintaktično napako veliko težje odkriti, saj jo je treba ovrednotiti, uvoziti ali izvesti. Ko pišemo bloke try-except, je takšno napako težje ujeti.

V operacijskem sistemu Windows je pot mogoče zapisati na enega od treh različnih načinov, tako da ne pride do napak:

1. metoda: Pri tej metodi dodamo r pred nastavitvijo niza.

new_working_directory=r'C: Uslužiti nkdaj Desktop PythonDirectory '

2. način: Uporabljamo dvojne poševnice.

new_working_directory= 'C:\Uporabniki\nikoli\Namizni računalnik\PythonDirectory '

3. način: Uporabljamo eno poševnico naprej.

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

MODUL POT

Delovni imenik lahko spremenimo tudi z modulom poti. Najprej namestite pot na naslednji način (dal sem tudi povezavo do modula):

pip namestitvena pot

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

Nato zapišemo:

odpotuvozPot

uvoz ti

Najprej preverimo trenutni delovni imenik z uporabo modula os in metode getcwd ().

# preverimo trenutni delovni imenik

cwd= ti.getcwd()

tiskanje('Trenutni delovni imenik je: %s'% cwd)

tiskanje('---------------------------------------------')

Nato nastavite pot do novega delovnega imenika. V tem primeru sem se odločil za primer na računalniku z operacijskim sistemom Windows:

# nastavite pot do novega delovnega imenika

nova_pot= 'C:\Uporabniki\nikoli\Namizni računalnik\PythonDirectory '

Za spremembo delovnega imenika uporabite Path (). Path () ima tukaj le en argument: dejansko pot do novega delovnega imenika in za izvedbo naloge uporablja metodo chdir ().

# spremenite delovni imenik

Pot(nova_pot).chdir()

Ponovno preverite, ali je bil delovni imenik spremenjen. In tukaj, kot vidite na sliki, je bil delovni imenik res spremenjen!

# Ponovno preverite delovni imenik

# je bil spremenjen?

cwd= ti.getcwd()

tiskanje('Nov delovni imenik je %s'% cwd)

Spreminjanje delovnih imenikov je lahka naloga in zahteva le eno metodo - metodo chdir (pot). Glede na to, ali uporabljate sistem Windows ali stroj Linux, morate biti previdni, kako pot vnesete kot niz. Če je napačno vneseno, lahko povzroči napako!

Veselo kodiranje!