Obtenir l'extension de fichier en Python
-
Utilisez le module
os.path
pour extraire l’extension d’un fichier en Python -
Utilisez le module
pathlib
pour extraire l’extension du fichier en Python
Ce tutoriel présente la façon d’obtenir l’extension de fichier à partir du nom de fichier en Python.
Utilisez le module os.path
pour extraire l’extension d’un fichier en Python
Python a un module os.path
qui a fait des fonctions utilitaires utiles pour manipuler les chemins de fichiers du système d’exploitation. Cela inclut l’ouverture, l’enregistrement et la mise à jour, ainsi que l’obtention d’informations à partir des chemins de fichiers.
Nous utiliserons ce module pour obtenir l’extension de fichier en Python.
Le fichier os.path
a une fonction splitext()
pour séparer la racine et l’extension du chemin de fichier donné. La fonction retourne un tuple contenant la chaîne de la racine et la chaîne de l’extension.
Fournissons un exemple de chemin de fichier avec une extension docx
.
/Users/user/Documents/sampledoc.docx
Le résultat attendu devrait être l’extension .docx
.
Déclarez deux variables séparées pour capturer le résultat de splitext()
nommées extension
et root
.
import os
path = "/Users/user/Documents/sampledoc.docx"
root, extension = os.path.splitext(path)
print("Root:", root)
print("extension:", extension)
Production :
Root: /Users/user/Documents/sampledoc
Extension: .docx
L’extension a maintenant été retournée avec succès ted depuis le chemin du fichier racine.
Utilisez le module pathlib
pour extraire l’extension du fichier en Python
pathlib
est un module Python qui contient des classes représentant des chemins de fichiers et implémente des fonctions utilitaires et des constantes pour ces classes.
pathlib.Path()
accepte une chaîne de chemin comme argument et retourne un nouvel objet Path
.
L’objet pathlib.Path
a l’attribut suffix
qui retourne les informations sur l’extension du fichier.
import pathlib
path = pathlib.Path("/Users/user/Documents/sampledoc.docx")
print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", path.suffix)
Outre la racine, nous pouvons également obtenir le chemin du fichier parent et le nom du fichier réel du chemin donné en appelant simplement les attributs parent
et name
dans l’objet Path
.
Production :
Parent: /Users/user/Documents
Filename: sampledoc.docx
Extension: .docx
Que faire si nous avons une extension de fichier comme .tar.gz
ou .tar.bz2
?
L’objet pathlib
fournit également un attribut pour les fichiers ayant plusieurs suffixes comme extensions. L’attribut suffixes
dans l’objet Path
est une liste contenant tous les suffixes du fichier donné. Si nous utilisons l’exemple ci-dessus et que nous imprimons l’attribut suffixes
:
import pathlib
path = pathlib.Path("/Users/user/Documents/sampledoc.docx")
print("Suffix(es):", path.suffixes)
Production :
Suffix(es): ['.docx']
Ainsi, même s’il n’y a qu’un seul suffixe, la sortie se traduira par une liste simple.
Essayez maintenant un exemple avec une extension .tar.gz
. Pour convertir la liste en une seule chaîne de caractères, la fonction join()
peut être utilisée sur une chaîne vide et accepter l’attribut suffixes
comme argument.
import pathlib
path = pathlib.Path("/Users/user/Documents/app_sample.tar.gz")
print("Parent:", path.parent)
print("Filename:", path.name)
print("Extension:", "".join(path.suffixes))
Production :
Parent: /Users/user/Documents
Filename: app_sample.tar.gz
Extension: .tar.gz
Maintenant, l’extension réelle est affichée à la place d’une liste.
En résumé, les deux modules os
et pathlib
fournissent des méthodes pratiques pour obtenir l’extension d’un fichier à partir d’un chemin de fichier en Python.
Le module os
a la fonction splitext
pour séparer la racine et le nom de fichier de l’extension de fichier. pathlib crée un objet Path
et stocke simplement l’extension dans l’attribut suffixes
.
Si vous prévoyez plus d’une extension dans un fichier, il serait préférable d’utiliser pathlib
car il fournit un support facile pour plusieurs extensions en utilisant l’attribut suffixes
.
Skilled in Python, Java, Spring Boot, AngularJS, and Agile Methodologies. Strong engineering professional with a passion for development and always seeking opportunities for personal and career growth. A Technical Writer writing about comprehensive how-to articles, environment set-ups, and technical walkthroughs. Specializes in writing Python, Java, Spring, and SQL articles.
LinkedInArticle connexe - Python File
- Comment obtenir tous les fichiers d'un répertoire
- Comment ajouter du texte à un fichier en Python
- Comment vérifier si un fichier existe en Python
- Comment trouver des fichiers avec une certaine extension seulement en Python
- Comment lire des lignes spécifiques d'un fichier en Python
- Lire un fichier texte et imprimer son contenu en Python