Предположим, что в Python у меня есть такой путь:
/folderA/folderB/folderC/folderD/
Как я могу получить только folderD
часть?
python
path
path-manipulation
Pepero
источник
источник
rstrip('/')
что будет проще, но потом быстро понял, что мне придется использоватьrstrip(os.path.sep)
, поэтому очевидно, что использованиеnormpath
оправдано.'\\\\?\\D:\\A\\B\\C\\'
и'\\\\?\\UNC\\svr\\B\\C\\'
(возвращает пустую строку). Это решение работает для всех случаев.Вы могли бы сделать
ОБНОВЛЕНИЕ 1: Этот подход работает, если вы предоставите его /folderA/folderB/folderC/folderD/xx.py. Это дает xx.py в качестве базового имени. Что не то, что вы хотите, я думаю. Так что вы могли бы сделать это -
ОБНОВЛЕНИЕ 2: Как указывал Ларс , внося изменения, чтобы приспособить трейлинг «/».
источник
С Python 3 вы можете использовать
pathlib
модуль (pathlib.PurePath
например):Если вам нужно имя последней папки, в которой находится файл:
источник
Вот мой подход:
источник
Я искал решение, чтобы получить последнее имя, где находится файл, я просто использовал
split
два раза, чтобы получить правильную часть. Это не вопрос, но Google перевел меня сюда.источник
Наивное решение (Python 2.5.2+):
источник
Мне нравится метод частей Path для этого:
источник
источник
os.path
модуль.источник
folderD
. нетfolderC
os.path
модуль.