Hogyan lehet megváltoztatni a munkakönyvtárat a Pythonban

How Change Working Directory Python



A működő könyvtár egy aktuális könyvtár, amelyben dolgozunk, és ahonnan a szkript fut; ezen a könyvtáron belül sok fájlhoz férünk hozzá (a benne találhatókhoz). Néha azonban meg kell változtatnunk a könyvtárakat, és oda -vissza kell lépnünk a fájlok és mappák között. Ebben az oktatóanyagban megtanuljuk, hogyan kell megváltoztatni a Python munkakönyvtárát.

OS MODUL

Elsősorban ennek eléréséhez szükségünk lesz a Python os moduljára. Mivel előre telepítve van, nem kell semmit telepíteni. Az OS modult általában a Pythonban használják a rendszer fájljainak és mappáinak interakciójához, kezeléséhez és módosításához. Például létrehozhatunk/eltávolíthatunk könyvtárakat, megváltoztathatjuk a működő könyvtárakat, az áttekintő fájlokat, ellenőrizhetjük, hogy léteznek -e fájlok stb. ... Mondanom sem kell, hogy ez egy nagyon hasznos modul.







Az aktuális munkakönyvtár beszerzése

Az aktuális munkakönyvtár beszerzéséhez a getcwd () metódus az os modulból. Felhívjuk figyelmét, hogy itt nem érvelnek. Esetemben a kimenet az volt /home/kalyani/PycharmProjects/pythonProject1 Ubuntu gépen (PyCharm fut). Ez azt jelenti, hogy a fő script - main.py - ebben a mappában található (pythonProject1). És ne feledje, a munkakönyvtár, mindenekelőtt egy mappa!



import te

# Szerezze be az aktuális munkakönyvtárat

aktuális_könyvtár= te.getcwd()

nyomtatás('A jelenlegi munkakönyvtár %s'% current_directory)



Az aktuális munkakönyvtár megváltoztatása

A munkakönyvtár megváltoztatása egyszerű a chdir () metódussal, amely pontosan egy argumentumot tartalmaz - az új helyre vezető utat karakterláncként.





import te

# Szerezze be az aktuális munkakönyvtárat

aktuális_könyvtár= te.getcwd()

nyomtatás('A jelenlegi munkakönyvtár %s'% current_directory)

Az első dolog, amit meg kell tenni, a munkakönyvtár új elérési útjának beállítása. Ubuntu esetén ez nagyon egyszerű!

# állítsunk be egy új könyvtárat

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

Windows rendszeren dupla fordított perjelet kell használnia a könyvtár meghatározásához.



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

Ezután definiálunk egy próba-kivétel záradékot. Ha létezik az útvonal, akkor a chdir () metódussal módosítjuk a munkakönyvtárat egy új munkakönyvtárra. Ha az útvonal nem könyvtár, akkor hibát fog dobni!

próbáld ki:

te.chdir(new_working_directory)

nyomtatás('A munkakönyvtár megváltozott!')

nyomtatás('WD: %s'%te.getcwd())


kivéveNotADirectory Hiba:

nyomtatás('Nem választott könyvtárat.')


kivéveFileNotFoundError:

nyomtatás('A mappa nem található. Az útvonal helytelen.)


kivéveEngedély Hiba:

nyomtatás('Nincs hozzáférése ehhez a mappához/fájlhoz.')

A teljes kód így nézne ki:

import te

# Szerezze be az aktuális munkakönyvtárat

aktuális_könyvtár= te.getcwd()

nyomtatás('A jelenlegi munkakönyvtár %s'% current_directory)

# állítsunk be egy új könyvtárat

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

new_working_directory=r'C: Uszolgál nvalaha Dasztal PythonDirectory '

próbáld ki:

te.chdir(new_working_directory)

nyomtatás('A munkakönyvtár megváltozott!')

nyomtatás('WD: %s'%te.getcwd())


kivéveNotADirectory Hiba:

nyomtatás('Nem választott könyvtárat.')


kivéveFileNotFoundError:

nyomtatás('A mappa nem található. Az útvonal helytelen.)


kivéveEngedély Hiba:

nyomtatás('Nincs hozzáférése ehhez a mappához/fájlhoz.')

Valójában a hibák különféle kivételeket okozhatnak:

én. NotADirectory Hiba:

Tegyük fel például, hogy a következő kódot írtam az útvonalhoz vagy az új munkakönyvtárhoz:

new_working_directory= 'C:\Felhasználók\soha\Asztal\PythonDirectory\text.txt '

Itt megjegyezheti, hogy a text.txt nevű szöveges dokumentum útvonalát mutatom. Ez utóbbi pedig NotADirectoryError néven ismert hibát dob. Más szóval, az útvonalnak valamilyen könyvtárra kell mutatnia.

ii. FileNotFoundError:

A FileNotFoundError dobódik, ha az útvonal nem létezik. Tehát tegyük fel egy pillanatra, hogy az asztalon nincs PythonDirectory nevű könyvtár, és az utat a következőkre állítottam:

new_working_directory= 'C: Uszolgál nvalaha Dasztal PythonDirectory '

Dobni fogja a FileNotFoundError . Ez a hiba egyszerűen azt jelenti, hogy a könyvtár, amelyre mutatunk, nem létezik, vagy nem található.

iii. Engedély Hiba:

NAK NEK PermissionError akkor jelenik meg, ha a felhasználónak nincs megfelelő jogosultsága a kiválasztott könyvtár módosításához vagy eléréséhez.

iv. Szintaktikai hiba:

Szintaktikai hiba akkor fordul elő, ha szintaktikai hiba van az elérési útban. Windows alatt, ha azt írjuk, hogy:

new_working_directory= 'C: Uszolgál nvalaha Dasztal PythonDirectory '

Synthax hiba lép fel! A szintaktikai hibát azonban sokkal nehezebb felfogni, mivel ki kell értékelni, importálni vagy végrehajtani. Mint ilyen, amikor próba kivételű blokkokat írunk, nehezebb ilyen hibát észlelni.

Windows rendszeren a hibák elkerülése érdekében az útvonalat három különböző módon írhatja ki, így nem kerül sor hibára:

1. módszer: Ebben a módszerben a karakterlánc beállítása előtt adjunk hozzá egy r -t.

new_working_directory=r'C: Uszolgál nvalaha Dasztal PythonDirectory '

2. módszer: Dupla fordított perjelet használunk.

new_working_directory= 'C:\Felhasználók\soha\Asztal\PythonDirectory '

3. módszer: Egyetlen perjelet használunk.

new_working_directory= 'C:/Felhasználók/soha/Desktop/PythonDirectory'

ÚTMUTATÓ MODUL

A munkakönyvtárat az útvonal modul segítségével is megváltoztathatjuk. Először telepítse az útvonalat az alábbiak szerint (megadtam a modul linkjét is):

pip telepítési útvonal

(https: // pypi.org/project/path/)

Ezután ezt írjuk:

tól tőlpályaimportPálya

import te

Először nézzük meg az aktuális munkakönyvtárat az os modul és a getcwd () metódus segítségével.

# nézzük meg az aktuális munkakönyvtárat

cwd= te.getcwd()

nyomtatás('Az aktuális munkakönyvtár: %s'% cwd)

nyomtatás('---------------------------------------------' ')

Ezután állítsa be az új munkakönyvtár elérési útját. Ebben az esetben úgy döntöttem, hogy példát mutatok egy Windows gépen:

# állítsa be az új munkakönyvtár elérési útját

new_path= 'C:\Felhasználók\soha\Asztal\PythonDirectory '

A Path () használatával módosítsa a munkakönyvtárat. A Path () itt csak egyetlen érvet használ: az új munkakönyvtárhoz vezető tényleges elérési utat, és a chdir () metódust használja a feladat végrehajtásához.

# módosítsa a munkakönyvtárat

Pálya(new_path).chdir()

Ellenőrizze újra, hogy a munkakönyvtár megváltozott-e. És itt, amint a képen is látható, a munkakönyvtár valóban megváltozott!

# Ellenőrizze újra a munkakönyvtárat

# megváltozott?

cwd= te.getcwd()

nyomtatás('Az új munkakönyvtár %s'% cwd)

A munkakönyvtárak megváltoztatása egyszerű feladat, és egyetlen módszert igényel - a chdir (elérési út) metódust. Attól függően azonban, hogy Windows vagy Linux gépen van -e, óvatosnak kell lennie az útvonal karakterláncként való bevitelével. Ha helytelenül adta meg, hibát okozhat!

Boldog kódolást!