Python obtient un nom de fichier sans extension du chemin
-
Obtenir le nom de fichier sans extension à partir du chemin en utilisant la méthode
pathlib.path().stem
en Python -
Obtenir le nom de fichier sans extension à partir du chemin en utilisant les méthodes
os.path.splitext()
etstring.split()
en Python -
Obtenir le nom de fichier à partir du chemin en utilisant les méthodes
os.path.basename()
etos.path.splitext()
en Python
Ce tutoriel présente différentes méthodes pour obtenir un nom de fichier sans extension à partir du chemin d’accès au fichier en Python. Supposons que le but est d’obtenir le nom des fichiers à partir de la liste des chemins de fichiers disponibles sous la forme d’une chaîne, comme dans le chemin Desktop/folder/myfile.txt
, nous obtenons seulement le nom de fichier myfile
sans extension .txt
.
Obtenir le nom de fichier sans extension à partir du chemin en utilisant la méthode pathlib.path().stem
en Python
La méthode path().stem
prend le chemin du fichier en entrée et retourne le nom du fichier en l’extrayant du chemin du fichier. Par exemple, à partir du chemin Desktop/folder/myfile.txt
, elle retournera myfile
sans l’extension .txt
.
L’exemple de code ci-dessous montre comment utiliser le path().stem
pour obtenir le nom de fichier sans l’extension du chemin d’accès :
from pathlib import Path
file_path = "Desktop/folder/myfile.txt"
file_name = Path(file_path).stem
print(file_name)
Production :
myfile
Obtenir le nom de fichier sans extension à partir du chemin en utilisant les méthodes os.path.splitext()
et string.split()
en Python
La méthode path.splitext()
du module os
prend le chemin du fichier comme entrée de chaîne et renvoie le chemin et l’extension du fichier en sortie.
Comme nous voulons obtenir le nom du fichier à partir du chemin de fichier, nous pouvons d’abord supprimer l’extension du fichier du chemin de fichier en utilisant la méthode os.path.splitext()
. Le premier élément du résultat du fractionnement est le chemin d’accès au fichier sans extension. Ce résultat est ensuite fractionné en utilisant /
comme séparateur. Le dernier élément sera le nom du fichier sans extension. L’exemple de code ci-dessous montre comment obtenir le nom de fichier sans extension à partir du chemin d’accès au fichier en utilisant les méthodes path.splitext()
et string.split()
.
import os
file_path = "Desktop/folder/myfile.txt"
file_path = os.path.splitext(file_path)[0]
file_name = file_path.split("/")[-1]
print(file_name)
Production :
test
Obtenir le nom de fichier à partir du chemin en utilisant les méthodes os.path.basename()
et os.path.splitext()
en Python
En Python, la méthode path.basename()
du module os
prend le chemin du fichier en entrée et retourne le nom de base extrait du chemin du fichier. Par exemple, le nom de base de Desktop/folder/myfile.txt
est myfile.txt
.
Comme nous voulons obtenir le nom du fichier à partir du chemin d’accès, le nom de base peut être extrait en utilisant la méthode path.basename()
et le nom du fichier en utilisant path.splitext()
. L’exemple de code ci-dessous montre comment obtenir le nom de fichier à partir du chemin d’accès au fichier en utilisant les méthodes path.basename()
et path.splitext()
.
import os
file_path = "Desktop/folder/myfile.txt"
basename = os.path.basename(file_path)
file_name = os.path.splitext(basename)[0]
print(file_name)
Production :
myfile
myfile.tar.gz
, toutes les méthodes expliquées ci-dessus retourneront myfile.tar
comme nom de fichier.Supposons que nous ayons besoin d’obtenir le nom du fichier sans la partie après .
comme myfile
au lieu de myfile.tar
à partir du chemin Desktop/folder/myfile.tar.gz
, la méthode string.index()
peut être utilisée pour extraire uniquement myfile
de myfile.tar
. Mais l’inconvénient de cette méthode est que si le .
fait partie du nom du fichier comme my.file.tar.gz
, elle renverra mon
comme nom de fichier.
L’exemple de code ci-dessous montre comment nous pouvons utiliser string.index()
pour supprimer .tar
de la sortie myfile.tar
des méthodes expliquées ci-dessus :
file_name = "myfile.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)
file_name = "my.file.tar"
index = file_name.index(".")
file_name = file_name[:index]
print(file_name)
Production :
myfile
my
Article 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