Obtenir le nom de fichier sans Extension en Python
Si j'ai un nom de fichier comme l'un d'eux:
1.1.1.1.1.jpg
1.1.jpg
1.jpg
Comment pourrais-je obtenir seulement le nom de fichier, sans l'extension? Une expression rationnelle serait-elle appropriée?
78
demandé sur
Will
2010-12-15 01:26:57
4 réponses
Dans la plupart des cas, vous ne devriez pas utiliser une expression rationnelle pour cela.
os.path.splitext(filename)[0]
Cela gérera également un nom de fichier comme .bashrc
correctement en conservant le nom entier.
176
répondu
Marcelo Cantos
2010-12-14 22:30:10
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')
22
répondu
Lennart Regebro
2010-12-14 22:32:29
Si je devais le faire avec une expression rationnelle, je le ferais comme ceci:
s = re.sub(r'\.jpg$', '', s)
10
répondu
Alan Moore
2010-12-15 00:10:20
Pas besoin de regex. os.path.splitext
est votre ami:
os.path.splitext('1.1.1.jpg')
>>> ('1.1.1', '.jpg')
6
répondu
Triptych
2010-12-14 22:33:04