En Python, supposons que j'ai un chemin comme celui-ci:
/folderA/folderB/folderC/folderD/
Comment puis-je obtenir juste la folderD
pièce?
python
path
path-manipulation
pepero
la source
la source
rstrip('/')
serait plus simple, mais je me suis vite rendu compte que je devais l'utiliserrstrip(os.path.sep)
, donc évidemment l'utilisation denormpath
est justifiée.'\\\\?\\D:\\A\\B\\C\\'
et'\\\\?\\UNC\\svr\\B\\C\\'
(renvoie une chaîne vide) Cette solution fonctionne pour tous les cas.Vous pourriez faire
UPDATE1: Cette approche fonctionne si vous lui donnez /folderA/folderB/folderC/folderD/xx.py. Cela donne xx.py comme nom de base. Ce n'est pas ce que vous voulez, je suppose. Vous pouvez donc faire cela -
MISE À JOUR2: Comme l'a souligné Lars , apportant des modifications afin d'accommoder le «/» de fin.
la source
Avec python 3, vous pouvez utiliser le
pathlib
module (pathlib.PurePath
par exemple):Si vous voulez le dernier nom de dossier où se trouve un fichier:
la source
Voici mon approche:
la source
Je cherchais une solution pour obtenir le dernier nom de dossier où se trouve le fichier, je viens de l'utiliser
split
deux fois, pour obtenir la bonne partie. Ce n'est pas la question mais google m'a transféré ici.la source
Une solution naïve (Python 2.5.2+):
la source
J'aime la méthode des pièces de Path pour cela:
la source
la source
os.path
module.la source
folderD
. pasfolderC
os.path
module.