Dans cet article, nous examinerons le programme permettant d'obtenir le nom de fichier à partir du chemin de fichier donné dans le langage de programmation Python. Parfois, lors de l'automatisation, nous pouvons avoir besoin d'extraire le nom du fichier du chemin du fichier.
Mieux vaut avoir des connaissances sur :
- Module OS Python
- Module de chemin Python
- Expressions régulières
- Intégré à rsplit()
Méthode 1 : Module OS Python
Exemple 1 : Récupère le nom du fichier à partir du chemin sans extension split()
Python diviser() La fonction divise le texte donné en une liste de chaînes à l'aide du séparateur défini et renvoie une liste de chaînes qui ont été divisées par le séparateur fourni.
Python3
import> os> path>=> 'D:homeRiot GamesVALORANTliveVALORANT.exe'> print>(os.path.basename(path).split(>'/'>)[>->1>])> |
>
>
Sortir:
VALORANT.exe>
Exemple 2 : Obtenez le nom du fichier à partir du chemin du fichier en utilisant os.path.basename
Le nom de base dans le chemin donné peut être obtenu à l'aide de la fonction Python intégrée os.path.basename(). La fonction path.basename() accepte un argument de chemin et renvoie le nom de base du chemin d'accès.
Python3
import> os> file_path>=> 'C:/Users/test.txt'> # file path> # using basename function from os> # module to print file name> file_name>=> os.path.basename(file_path)> print>(file_name)> |
>
>
Sortir:
test.txt>
Exemple 3 : obtenez le nom du fichier à partir du chemin du fichier à l'aide de os. texte divisé
Cette méthode aboutira à un fichier et c'est une extension, mais que se passe-t-il si nous n'avons besoin que du nom du fichier sans extension ou uniquement des extensions. Ici texte divisé la fonction dans le module os entre en scène. Cette méthode renverra un tuple de chaînes contenant le nom de fichier et le texte et nous pourrons y accéder à l'aide de l'indexation.
Exemple:
Python3
nombre aléatoire entre 1 et 10
import> os> file_path>=> 'C:/Users/test.txt'> file_name>=> os.path.basename(file_path)> file> => os.path.splitext(file_name)> print>(>file>)># returns tuple of string> print>(>file>[>0>]>+> file>[>1>])> |
>
>
Sortir:
('test', '.txt') test.txt> Méthode 2 : Obtenez le nom du fichier à partir du chemin du fichier en utilisant Pathlib
Le package Python Pathlib propose un certain nombre de classes qui décrivent les chemins du système de fichiers avec une sémantique adaptée à de nombreux systèmes d'exploitation. Les modules utilitaires standard pour Python incluent ce module. Bien que tige est l'un des attributs utilitaires qui permet d'extraire le nom du fichier à partir du lien sans extension. Si nous voulons une extension avec le fichier, nous pouvons utiliser les attributs de nom.
Exemple:
Python3
from> pathlib>import> Path> file_path>=> 'C:/Users/test.txt'> # stem attribute extracts the file> # name> print>(Path(file_path).stem)> # name attribute returns full name> # of the file> print>(Path(file_path).name)> |
>
>
Sortir:
test test.txt>
Méthode 3 : Obtenez le nom du fichier à partir du chemin du fichier en utilisant Expressions régulières
Nous pouvons utiliser une expression régulière pour faire correspondre le nom du fichier avec le modèle spécifique.
Pattern - [w]+?(?=.)>
Ce modèle est divisé en 3 modèles
- [w] correspond aux mots à l'intérieur de l'ensemble
- +? correspond à la chaîne si elle n'est présente qu'une seule fois auparavant ? mot-clé
- (?=) correspond à tous les caractères sans nouvelle ligne et assurez-vous de vous arrêter à.

Exemple:
Python3
import> re> file_path>=> 'C:/Users/test.txt'> pattern>=> '[w-]+?(?=.)'> # searching the pattern> a>=> re.search(pattern, file_path)> # printing the match> print>(a.group())> |
>
>
Sortir:
test>
Méthode 4 : utilisez la fonction Python intégrée split() pour diviser le chemin du fichier en une liste de composants individuels, puis utilisez la méthode rsplit() :
vous pouvez utiliser la fonction Python intégrée split() pour diviser le chemin du fichier en une liste de composants individuels, puis utiliser la méthode rsplit() pour diviser le dernier composant (qui doit être le nom et l'extension du fichier) en une liste contenant le nom et l'extension du fichier. Vous pouvez ensuite utiliser l'indexation pour extraire le nom du fichier de cette liste.
Voici un exemple de la façon dont cela peut être fait :
Python3
def> get_file_name(file_path):> >file_path_components>=> file_path.split(>'/'>)> >file_name_and_extension>=> file_path_components[>->1>].rsplit(>'.'>,>1>)> >return> file_name_and_extension[>0>]> # Example usage> file_path>=> 'C:/Users/test.txt'> result>=> get_file_name(file_path)> print>(result)># Output: 'test'> |
bonjour le monde avec java
>
>
Résultat : tester
Cette approche utilise d'abord la fonction split() pour diviser le chemin du fichier en une liste de composants individuels, séparés par le caractère « / ». La méthode rsplit() est ensuite utilisée pour diviser le dernier composant (qui doit être le nom et l'extension du fichier) en une liste contenant le nom et l'extension du fichier, en utilisant le caractère « . » comme séparateur. Le nom du fichier est ensuite extrait de cette liste par indexation. Cette approche fonctionnera pour n'importe quel chemin de fichier et extension, à condition que le chemin de fichier soit dans un format qui peut être analysé à l'aide des méthodes split() et rsplit().