W Pythonie załóżmy, że mam taką ścieżkę:
/folderA/folderB/folderC/folderD/
Jak mogę zdobyć tylko folderD
część?
python
path
path-manipulation
pepero
źródło
źródło
rstrip('/')
, że będzie to prostsze, ale szybko zdałem sobie sprawę, że będę musiał użyćrstrip(os.path.sep)
, więc oczywiście użycienormpath
jest uzasadnione.'\\\\?\\D:\\A\\B\\C\\'
I'\\\\?\\UNC\\svr\\B\\C\\'
(zwraca pusty ciąg) To rozwiązanie działa we wszystkich przypadkach.Mógłbyś
AKTUALIZACJA 1: To podejście działa, jeśli podasz /folderA/folderB/folderC/folderD/xx.py. To daje xx.py jako basename. Chyba nie tego chcesz. Więc możesz to zrobić -
AKTUALIZACJA 2: Jak zauważył Lars , wprowadzanie zmian w celu dostosowania końcowego / „.
źródło
W Pythonie 3 możesz użyć
pathlib
modułu (pathlib.PurePath
na przykład):Jeśli chcesz nazwę ostatniego folderu, w którym znajduje się plik:
źródło
Oto moje podejście:
źródło
Szukałem rozwiązania, aby uzyskać ostatnią nazwę folderu, w którym znajduje się plik, użyłem go
split
dwa razy, aby uzyskać właściwą część. To nie jest pytanie, ale Google przeniosło mnie tutaj.źródło
Naiwne rozwiązanie (Python 2.5.2+):
źródło
W tym celu podoba mi się metoda Path części :
źródło
źródło
os.path
modułu.źródło
folderD
. niefolderC
os.path
modułu.