- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Dans cette partie, on va créer la structure de notre application, donc si vous voulez le squelette,on va juste importer le module typer, créer notre fonction principale et les arguments etles options que l'on souhaite pouvoir utiliser par la suite. Donc dans mon script, je vais commencer
00:00:14 :par importer typer, on va faire une fonction qu'on va appeler main. Pour l'instant, on ne va rienmettre à l'intérieur, je vais juste créer la fonction et je vais faire la structure conditionnelledonc if name égale égale à main pour protéger l'exécution de typer.run, donc pour que cette
00:00:30 :ligne de code ici ne soit exécutée que quand on lance directement le script, donc je vais utilisertyper.run et lui indiquer la fonction main que je viens de créer. Ici, on va mettre une docstring,
00:00:41 :donc ça va nous permettre d'indiquer ce que fait notre programme, donc on va mettre iciaffiche les fichiers trouvés avec l'extension données et on va également pouvoir potentiellementles supprimer grâce à une option qu'on va rajouter tout de suite dans la définition de notre fonction.
00:00:57 :Avant ça, la première chose qu'on va demander c'est l'extension, donc l'extension de fichiersqu'on souhaite récupérer pour afficher les fichiers qui ont été trouvés. Donc je vais utiliser un
00:01:06 :paramètre que je vais appeler extension, ça va être une chaîne de caractère, donc on va utiliserles annotations de type pour indiquer qu'on souhaite avoir un objet de type str ici. Ensuite,
00:01:16 :on va demander le dossier dans lequel on souhaite chercher les fichiers, donc je vais créer unparamètre que je vais appeler directory et dans ce cas-ci ça va être un paramètre optionnel.
00:01:25 :Alors avec les annotations de type, on peut indiquer qu'un paramètre est optionnel avecquelque chose que l'on doit importer, donc on doit faire from typing import optional et c'estavec ce optional ici qu'on va pouvoir indiquer à notre éditeur de code que ce paramètre estoptionnel. Donc on va utiliser optional et on va mettre entre crochets la chaîne de caractère str,
00:01:44 :donc on spécifie ici qu'on a un paramètre de type chaîne de caractère mais qu'il estoptionnel. On va également mettre une valeur par défaut puisque je vais vouloir mettre un texte
00:01:53 :dead, donc pour ça je vais utiliser typer.argument et on va dire que ce paramètre n'est pas requis,donc il est optionnel comme on vient de le dire ici dans l'annotation de type. Donc pour qu'il
00:02:03 :soit optionnel ici dans mon typer.argument, je vais mettre none comme ça on peut potentiellementne rien passer à cet argument et quand même avoir notre script qui fonctionne. Et par la
00:02:13 :suite à l'intérieur de la fonction, si l'utilisateur ne donne rien, donc si on a noneici, on va récupérer le dossier courant. Donc ici je vais juste mettre le help text,
00:02:22 :donc je vais mettre help égale à dossier dans lequel chercher, donc ça ça va s'afficher quandon va afficher l'aide de notre programme, on va pouvoir savoir à quoi correspond cet argument.
00:02:33 :Et pour finir on va mettre un paramètre delete, donc dans ce cas-ci ça va être une option,donc je vais mettre delete, ça va être un bool et un, donc on met l'annotation de typebool et on va dire qu'on est en présence d'une option, donc avec typer.option. Par défaut on va
00:02:47 :le mettre à false puisqu'on ne veut pas par défaut supprimer les fichiers, on veut juste lesafficher et on va mettre comme help text, on va mettre supprime les fichiers trouvés. Voilà,
00:02:59 :donc là normalement on a tout ce qu'il faut, on a l'extension qui est obligatoire, donc c'est unargument obligatoire, on est obligé de passer une extension sous forme de chaîne de caractère.
00:03:07 :Ensuite on a le dossier dans lequel on souhaite chercher qui est optionnel, c'est un argument etlà on a mis none, donc il est optionnel et on va pouvoir par la suite récupérer le dossiercourant si on ne donne rien. Et on a pour finir l'option delete qui par défaut est à false et
00:03:20 :qu'on va pouvoir passer à true. Donc je vais vous montrer tout de suite ce que ça donne,on va juste faire un print de ces trois options ici, donc extension, directory et delete et on valancer notre script pour voir si tout fonctionne correctement. Donc je lance un nouveau terminal
00:03:33 :et avec Python 3.8 je vais lancer main.py, donc on peut déjà afficher l'aide avec "-help". Onvoit qu'on a ici une option delete avec l'inverse qui est no delete, qui va nous permettre despécifier le booléen true ou false avec le texte d'aide qui est affiché, donc supprime les fichiers
00:03:49 :trouvés et par défaut on est avec false. Et ici on a les arguments, donc l'extension qui est requisepuisque ici on n'a pas mis de valeur par défaut et le dossier qui lui n'est pas requis, donc onpeut ne pas donner de valeur ici et ça fonctionnera quand même. Et ici on retrouve notre docstring,
00:04:03 :la docstring donc de ma fonction. Donc maintenant je vais pouvoir tester les différentes options,donc on va dire par exemple qu'on souhaite chercher les fichiers de type txt, je ne vaisrien mettre d'autre pour l'instant, donc je vais juste appuyer sur entrer. Là on a bien donc
00:04:15 :l'extension txt, pour le dossier on a none, donc cette valeur par défaut, et pour delete on afalse qui est la valeur par défaut. Ensuite je peux spécifier un dossier, donc par exemple on
00:04:23 :pourrait dire qu'on souhaite chercher dans slash user slash tbash et dans mes documents. Donc jevalide et là j'ai bien l'extension txt, le dossier mes documents est toujours false pour l'optiondelete. Et si je souhaite spécifier l'option delete, et bien je vais mettre tout simplement
00:04:36 :l'option delete comme ceci. Là on a bien true et si je souhaite la mettre à false, donc qui est lavaleur par défaut, je mets no delete. Et là on se retrouve bien avec txt, notre dossier est false
00:04:47 :ici avec le flag no delete. Donc tout fonctionne correctement, on a la structure de notreapplication et on va pouvoir maintenant passer à la création de cette fonction qui va nous permettrede chercher à l'intérieur d'un dossier pour certains fichiers avec une extension préciseet éventuellement les supprimer en fonction de cette option delete.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.