Kiedy mamy do czynienia z plikami w katalogach w Pythonie, zawsze dobrym pomysłem jest użycie ścieżek bezwzględnych. Jeśli jednak pracujesz ze ścieżkami względnymi, musisz zrozumieć pojęcie bieżącego katalogu roboczego oraz jak znaleźć lub zmienić bieżący katalog roboczy. Ścieżka bezwzględna określa lokalizację pliku lub katalogu zaczynającą się od katalogu głównego, podczas gdy ścieżka względna zaczyna się od bieżącego katalogu roboczego.,

kiedy uruchamiasz skrypt Pythona, bieżący katalog roboczy jest ustawiany na katalog, z którego skrypt jest wykonywany.

moduł Pythona os zapewnia przenośny sposób interakcji z systemem operacyjnym. Moduł jest częścią standardowej biblioteki Pythona i zawiera metody wyszukiwania i zmiany bieżącego katalogu roboczego.

pobieranie bieżącego katalogu roboczego w Pythonie #

metodagetcwd() modułu systemu operacyjnego w Pythonie zwraca łańcuch zawierający bezwzględną ścieżkę bieżącego katalogu roboczego., Zwracany łańcuch nie zawiera końcowego znaku ukośnika.

os.getcwd()

aby użyć metod modułu systemu operacyjnego, musisz zaimportować moduł u góry pliku.

Poniżej znajduje się przykład pokazujący jak wydrukować bieżący katalog roboczy:

wynik będzie wyglądał mniej więcej tak:

Current working directory: /home/linuxize/Desktopos.getcwd() returns an object of type: <class 'str'>
jeśli chcesz znaleźć katalog, w którym znajduje się skrypt, użyj os.path.realpath(__file__). Zwróci łańcuch zawierający bezwzględną ścieżkę do uruchomionego skryptu.,

Zmiana bieżącego katalogu roboczego w Pythonie #

aby zmienić bieżący katalog roboczy w Pythonie, użyj metodychdir().

os.getcwd(path)

metoda przyjmuje jeden argument, ścieżkę do katalogu, do którego chcesz zmienić. Argument path może być bezwzględny lub względny.,

oto przykład:

wynik będzie wyglądał mniej więcej tak:

Current working directory: /home/linuxize/DesktopCurrent working directory: /tmp

argument podany do metody chdir()musi być katalogiem, w przeciwnym razie NotADirectoryError wyjątek jest wywoływany. Jeśli Podany katalog nie istnieje, wywoływany jest wyjątek FileNotFoundError. Jeśli użytkownik, dla którego uruchomiony jest skrypt, nie ma wymaganych uprawnień, zostanie wywołany wyjątek PermissionError.,

podsumowanie #

aby znaleźć bieżący katalog roboczy w Pythonie, użyj os.getcwd(), a aby zmienić bieżący katalog roboczy, użyj os.chdir(path).