92 votes

Python regex help: supprimer l'extension de fichier

un nom de fichier pourrait être

 1.1.1.1.1.jpg

1.1.jpg

1.jpg
 

Ce que je veux faire, c'est seulement obtenir le nom du fichier.

207voto

Marcelo Cantos Points 91211

Dans la plupart des cas, vous ne devriez pas utiliser de regex pour cela.

 os.path.splitext(filename)[0]
 

Cela permettra également de gérer correctement un nom de fichier comme .bashrc en conservant le nom complet.

26voto

Lennart Regebro Points 52510
>>> import os
>>> os.path.splitext("1.1.1.1.1.jpg")
('1.1.1.1.1', '.jpg')

10voto

Alan Moore Points 39365

Si je devais le faire avec une regex, je le ferais comme ceci:

 s = re.sub(r'\.jpg$', '', s)
 

6voto

Triptych Points 70247

Pas besoin de regex. os.path.splitext est votre ami:

 os.path.splitext('1.1.1.jpg')
>>> ('1.1.1', '.jpg')
 

Prograide.com

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.

Powered by:

X