Obtenir un nom de fichier sans extension en Python

Si j’ai un nom de fichier comme l’un de ceux-ci:

1.1.1.1.1.jpg 1.1.jpg 1.jpg 

Comment puis-je obtenir uniquement le nom de fichier, sans l’extension? Une regex serait-elle appropriée?

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

 os.path.splitext(filename)[0] 

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

 >>> import os >>> os.path.splitext("1.1.1.1.1.jpg") ('1.1.1.1.1', '.jpg') 

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

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

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

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