J'utilise wxPython et Python pour développer une interface graphique. Si j'utilise wx.dirdialog
pour obtenir le répertoire comme ceci:
/folderA/folderB/folderC/folderD/
Comment puis-je obtenir la part folderD
?
Merci d'avance.
J'utilise wxPython et Python pour développer une interface graphique. Si j'utilise wx.dirdialog
pour obtenir le répertoire comme ceci:
/folderA/folderB/folderC/folderD/
Comment puis-je obtenir la part folderD
?
Merci d'avance.
Utilisez os.path.normpath
, puis os.path.basename
:
>>> os.path.basename(os.path.normpath('/folderA/folderB/folderC/folderD/'))
'folderD'
Le premier supprime les barres obliques, le second vous donne la dernière partie du chemin. Utiliser uniquement basename
donne tout après la dernière barre oblique, qui est dans ce cas ''
.
Vous pourriez faire
import os
os.path.basename('/folderA/folderB/folderC/folderD')
UPDATE1: Cette approche fonctionne si vous lui donnez /folderA/folderB/folderC/folderD/xx.py. Cela donne xx.py comme nom de base. Ce qui n'est pas ce que vous voulez, je suppose. Pour que vous puissiez faire ceci -
import os
path = "/folderA/folderB/folderC/folderD"
if os.path.isdir(path):
dirname = os.path.basename(path)
UPDATE2: Comme l'a souligné Lars, apportez des modifications afin de prendre en compte le '/' suivi.
from os.path import normpath, basename
basename(normpath('/folderA/folderB/folderC/folderD/'))
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.