Angenommen, ich habe in Python einen Pfad wie diesen:
/folderA/folderB/folderC/folderD/
Wie kann ich nur das folderD
Teil bekommen?
python
path
path-manipulation
Pepero
quelle
quelle
rstrip('/')
wäre einfacher, aber dann wurde mir schnell klar, dass ich es verwenden müssterstrip(os.path.sep)
, daher ist die Verwendung offensichtlichnormpath
gerechtfertigt.'\\\\?\\D:\\A\\B\\C\\'
und'\\\\?\\UNC\\svr\\B\\C\\'
(gibt eine leere Zeichenfolge zurück). Diese Lösung funktioniert in allen Fällen.Du könntest es tun
UPDATE1: Dieser Ansatz funktioniert, wenn Sie ihm /folderA/folderB/folderC/folderD/xx.py geben. Dies gibt xx.py als Basisnamen an. Welches ist nicht, was Sie wollen, denke ich. Also könnten Sie dies tun -
UPDATE2: Wie bereits erwähnt, nehmen Sie Änderungen vor, um dem nachgestellten '/' Rechnung zu tragen .
quelle
Mit Python 3 können Sie das
pathlib
Modul verwenden (pathlib.PurePath
zum Beispiel):Wenn Sie den letzten Ordnernamen wünschen, in dem sich eine Datei befindet:
quelle
Hier ist mein Ansatz:
quelle
Ich habe nach einer Lösung gesucht, um den letzten Ordnernamen zu erhalten, in dem sich die Datei befindet. Ich habe sie nur
split
zweimal verwendet, um den richtigen Teil zu erhalten. Es ist nicht die Frage, aber Google hat mich hierher gebracht.quelle
Eine naive Lösung (Python 2.5.2+):
quelle
Ich mag die Teile Methode des Weges für diese:
quelle
quelle
os.path
Modul.quelle
folderD
. nichtfolderC
os.path
Modul.