# -*- coding:utf-8 -*- __projet__ = "Seance 6 - Chaines et tuples" __nom_fichier__ = "ote_suffixe" __author__ = "Christine Fay-Varnier" __date__ = "novembre 2022" from fileinput import filename def ote_suffixe(filename): """ @param filename: nom d'un fichier @return: nom du fichier sans son extension version 1 on ne suppose qu'on n'a 0 ou 1 seul point dans le nom complet """ rg = filename.find('.') # rang où se trouve le point qui précède l'extension if rg == -1: # pas de "." dans le nom complet on retourne le nom du fichier tel quel return filename # pour enlever l'extension, on ne conserve que la partie avant le "." return filename[:rg] def ote_suffixe_V2(filename): """ @param filename: nom d'un fichier @return: nom du fichier sans son extension version 2 il peut y avoir plusieurs points dans le nom complet """ # on cherche la place du "." en partant de la fin pour trouver celui qui est le plus à droite for i in range(len(filename)-1, 0, -1): if filename[i] == '.': return filename[:i] # on ne prend que la partie avant le "." # si on ne trouve pas de "." on retourne le nom du fichier tel quel return filename def ote_suffixe_V2_bis(filename): """ @param filename: nom d'un fichier @return: nom du fichier sans son extension version 2 il peut y avoir plusieurs points dans le nom complet """ # on cherche la place du "." en partant de la fin pour trouver celui qui est le plus à droite rg = filename.rfind('.') return filename[:rg] # on ne prend que la partie avant le "." # si on ne trouve pas de "." on retourne le nom du fichier tel quel #return filename if __name__ == '__main__': print(ote_suffixe("essai.txt")) print(ote_suffixe("essai")) print(ote_suffixe("essai.manip.dta")) print(ote_suffixe_V2_bis("essai.manip.dta"))