Résolue

Help ME please : trieur de fichier

# Boucles # Structures conditionnelles # Fichiers

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).

Salut Will,

je comfirme la réponse de Jérôme, c'est un très bon début.

Dis nous si sa réponse est clair. Tu noteras l'utilisation des f string.

N'hésites pas si tu as des questions.

yes merci pour les explications c'est nettement plus clair...merci encore :)

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.