How to get only the last part of a path in Python?
The first strips off any trailing slashes, the second gives you the last part of the path. Using only
basename gives everything after the last slash, which in this case is
With python 3 you can use the
pathlib module (
pathlib.PurePath for example):
import pathlib path = pathlib.PurePath('/folderA/folderB/folderC/folderD/') path.name'folderD'
If you want the last folder name where a file is located:
'/folderA/folderB/folderC/folderD/file.py') path.parent.name'folderD'path = pathlib.PurePath(
You could do
import os os.path.basename('/folderA/folderB/folderC/folderD')
UPDATE1: This approach works in case you give it /folderA/folderB/folderC/folderD/xx.py. This gives xx.py as the basename. Which is not what you want I guess. So you could do this -
import os path = "/folderA/folderB/folderC/folderD"if os.path.isdir(path): dirname = os.path.basename(path)
UPDATE2: As lars pointed out, making changes so as to accomodate trailing '/'.
from os.path import normpath, basename basename(normpath('/folderA/folderB/folderC/folderD/'))'folderD'