Help ME please : trieur de fichier
Salut ,
Dans l'exercice trieur de fichiers, je n'arrive pas à recuperer des fichiers avec la methode iterdir .
comment fonctionne t'elle car dans la notice Python il montre un exemple avec la boucle for.
je souhaitais lire et recuperer les extensions et de les classer avec une condition comme "If ".
Est ce que mon raisonnement est bon pour cet exercice :
1 - je voulais lire les extensions
2 - recuperer les extensions
3 - classer les extensions dans différents répertoire.
Merci d'avance!!
Bonjour Will,
Imaginons un dossier dir_test contenant les fichiers dont tu souhaites récupérer les informations de nom.
La section Code ci-dessous parcourt ce dossier et affiche les informations de nom de chaque fichier trouvé.
La section Commentaires suivante commente chaque ligne.
J'espère que cela pourra t'aider.
Attention ! Si tu copies le code il faudra revoir son indentation.
Code
from pathlib import Path
dir_path = Path('/dir_test')
for file in dir_path.iterdir():
if file.isfile():
print(f'Nom complet de fichier : {file.name}')
print(f'\tnom de fichier : {file.stem}')
print(f'\textension de fichier : {file.suffix}')
print()
Commentaires
from pathlib import Path : il faut importer la classe Path du module pathlib.
dir_path = Path('/dir_test') : via la classe Path, la variable dir_path définit un chemin vers le dossier dir_test .
for file in dir_path.iterdir() : la méthode iterdir parcourt le niveau courant (sans lire d'éventuels sous-dossiers) du dossier dir_test. La variable file pointera chaque élément trouvé dans le dossier.
if file.isfile() : si l'élément trouvé et pointé par file est un fichier, file.isfile() renvoie True, sinon False.
print(f'Nom complet de fichier : {file.name}') : file.name renvoie le nom complet du fichier : nom + extension.
print(f'\tnom de fichier : {file.stem}') : -file.stem* renvoie le nom seul du fichier (sans l'extension).
print(f'\textension de fichier : {file.suffix}') : file.suffix renvoie l'extension seule du fichier (sans le nom).
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte