Ta sekcja wyjaśnia, jak uzyskać, sprawdzić i zmienić (przenieść) katalog roboczy (katalog bieżący), w którym uruchomiony jest Python.
Użyj modułu os. Jest on zawarty w bibliotece standardowej, więc nie jest wymagana dodatkowa instalacja.
Wyjaśnione zostaną odpowiednio akwizycja i modyfikacja.
- Pobierz i sprawdź bieżący katalog:
os.getcwd()
- Zmienia (przenosi) bieżący katalog:
os.chdir()
Ścieżka do pliku skryptu (.py), który jest wykonywany, może być uzyskana za pomocą __file__.
Pobierz i sprawdź bieżący katalog: os.getcwd()
os.getcwd()
To zwróci bezwzględną ścieżkę do katalogu roboczego (bieżącego katalogu), w którym Python jest aktualnie uruchomiony, jako ciąg znaków.
Możesz to sprawdzić wypisując go za pomocą funkcji print().
import os
path = os.getcwd()
print(path)
# /Users/mbp/Documents/my-project/python-snippets/notebook
print(type(path))
# <class 'str'>
getcwd jest skrótem od
- get current working directory
Przy okazji, UNIX-owe polecenie pwd oznacza co następuje.
- print working directory
Wygodnie jest używać os.path do obsługi łańcuchów ścieżek.
Zmień (przenieś) bieżący katalog: os.chdir()
Możesz użyć os.chdir() do zmiany katalogu roboczego (bieżącego katalogu).
Jako argument podaj ścieżkę, do której chcesz się przenieść. Do przejścia na następny poziom może być użyta ścieżka bezwzględna lub względna.
'../'
'..'
Możesz przenosić i zmieniać bieżący katalog w taki sam sposób jak UNIX-owe polecenie cd.
os.chdir('../')
print(os.getcwd())
# /Users/mbp/Documents/my-project/python-snippets
chdir jest skrótem od poniższego, i jest taki sam jak cd.
- change directory
Aby przejść do katalogu, w którym znajduje się plik skryptu (.py), który właśnie wykonujesz, użyj następującej funkcji.
__file__
os.path
os.chdir(os.path.dirname(os.path.abspath(__file__)))