Katalog roboczy to aktualny katalog, w którym pracujemy i od którego uruchamiany jest skrypt; W tym katalogu mamy dostęp do wielu plików (tych zlokalizowanych w nim). Czasami jednak musimy zmienić katalogi i iść tam iz powrotem między plikami i folderami. W tym samouczku dowiemy się, jak zmienić katalog roboczy w Pythonie.
Moduł OS
Po pierwsze, aby to osiągnąć, będziemy potrzebować modułu OS w Python. Ponieważ jest wstępnie zainstalowany, nie trzeba niczego instalować. Moduł OS jest zwykle używany w Pythonie do interakcji, zarządzania i modyfikowania plików i folderów w systemie. Na przykład możemy tworzyć/usuwać katalogi, zmieniać działające katalogi, pliki przewodników, sprawdzić, czy pliki istnieją itp.… Nie trzeba dodawać, że jest to bardzo przydatny moduł.
Uzyskanie obecnego katalogu roboczego
Aby uzyskać obecny katalog roboczy, używamy metoda getCwd () z modułu OS. Uwaga tutaj, że żaden argument nie został przekazany. W moim przypadku wyjście brzmiało „/home/kalyani/pycharmprojects/Pythonproject11”Na maszynie Ubuntu (Running Pycharm). Oznacza to, że główny skrypt - główny.PY - znajduje się w tym folderze (Pythonproject1). I pamiętajcie, działający katalog, przede wszystkim folder!
Import OSZmiana obecnego katalogu roboczego
Zmiana katalogu roboczego jest łatwa dzięki metodzie chdir (), która przyjmuje dokładnie jeden argument - ścieżka do nowej lokalizacji jako ciąg.
Import OSPierwszą rzeczą jest ustawienie nowej ścieżki do katalogu roboczego. Na Ubuntu jest to bardzo proste!
# Ustawmy nowy katalog roboczyW systemie Windows musisz użyć podwójnych operatów, aby zdefiniować katalog.
#New_Working_Directory = "C: \\ Users \\ Never \\ Desktop \\ Pythondirectory"Następnie definiujemy klauzulę próbową. Jeśli ścieżka istnieje, użyjemy metody chdir () do zmiany katalogu roboczego na nowy katalog roboczy. Jeśli ścieżka nie jest katalogiem, spowoduje błąd!
próbować:Pełny kod wyglądałby tak:
Import OSW rzeczywistości błędy mogą podnieść różne rodzaje wyjątków:
I. Notadirectoryerror:
Załóżmy teraz, że dla przypadków napisałem następujący kod dla ścieżki lub nowy katalog roboczy:
new_Working_Directory = "c: \\ Users \\ nigdy \\ Desktop \\ pythondirectory \\ text.tekst"Możesz tu zauważyć, że wskazuję ścieżkę do dokumentu tekstowego o nazwie tekst.tekst. A ten ostatni wyrzuci błąd zwany notadirectoryeRror. Innymi słowy, twoja ścieżka musi wskazywać na jakiś katalog.
ii. FillenotFoundError:
FillenotFounderRor jest rzucany, gdy ścieżka nie istnieje. Załóżmy więc, że na chwilę nie mam katalogu o imieniu Pythondirectory na moim pulpicie i że przygotowałem swoją drogę do:
new_working_directory = "c: \ Users \ nigdy \ Desktop \ Pythondirectory"Rzuci FillenotFoundError. Ten błąd oznacza po prostu, że katalog, na który wskazujemy, nie istnieje lub nie został znaleziony.
iii. Zezwolenie:
A Zezwolenie jest podniesiony, gdy użytkownik nie ma odpowiednich uprawnień do modyfikacji lub dostępu do wybranego katalogu.
iv. Błąd składni:
Błąd składni występuje, gdy na ścieżce występuje błąd składni. W systemie Windows, jeśli piszemy, aby powiedzieć:
new_working_directory = "c: \ Users \ nigdy \ Desktop \ Pythondirectory"Rzucany jest błąd synthax! Jednak błąd składniowy jest znacznie trudniejszy do złapania, ponieważ należy go ocenić, importować lub wykonać. Jako taki, kiedy piszemy bloki próbne, trudniej jest złapać taki błąd.
W systemie Windows, aby uniknąć błędów, ścieżkę można zapisać na jeden z trzech różnych sposobów, aby nie rzucane błędów:
Metoda 1: W tej metodzie dodajemy „R” przed ustaleniem ciągu.
new_working_directory = r "c: \ Users \ nigdy \ Desktop \ Pythondirectory"Metoda 2: Używamy podwójnych operatów.
new_Working_Directory = "c: \\ Users \\ nigdy \\ Desktop \\ Pythondirectory"Metoda 3: Używamy pojedynczego cięcia do przodu.
new_Working_Directory = "c:/Users/Never/Desktop/Pythondirectory"Moduł ścieżki
Możemy również zmienić katalog roboczy za pomocą modułu ścieżki. Najpierw zainstaluj ścieżkę w następujący sposób (podałem również link do modułu):
ścieżka instalacji pipNastępnie piszemy:
Z ścieżki importu ścieżkiNajpierw sprawdźmy bieżący katalog roboczy za pomocą modułu OS i metody getCwd ().
# Sprawdźmy bieżący katalog roboczyNastępnie ustaw ścieżkę do nowego katalogu roboczego. W takim przypadku postanowiłem ustawić przykład na komputerze Windows:
# Ustaw ścieżkę do nowego katalogu roboczegoUżyj ścieżki (), aby zmienić katalog roboczy. Ścieżka () bierze tutaj tylko jeden argument: rzeczywistą ścieżkę do nowego katalogu roboczego i używa metody chdir () do wykonania zadania.
# Zmień katalog roboczyOdłóż ponownie, jeśli działający katalog został zmieniony. I tutaj, jak widać na zdjęciu, działający katalog został rzeczywiście zmieniony!
# Odłóż katalog roboczyZmiana działających katalogów jest łatwym zadaniem i wymaga jednej metody - metoda CHDIR (PATH). Jednak w zależności od tego, czy jesteś na komputerze z systemem Windows, czy na maszynie Linux, musisz uważać na to, jak wprowadzić ścieżkę jako ciąg. Jeśli jest nieprawidłowo wprowadzony, może to rzucić błąd!
Szczęśliwe kodowanie!