- 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
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Si vous avez déjà utilisé des chemins de fichiers ou de dossiers avec Python,vous avez probablement remarqué que c'est assez pénible à utiliser.On a trois modules principalement que l'on utilise pour gérer ou créer des fichiers.
00:00:13 :Le module OS qui nous permet de faire des opérations comme par exemple concatener différents morceaux de cheminou encore créer des fichiers et des dossiers.
00:00:22 :On a Shuttle qui nous permet de déplacer des fichierset Globe qui nous permet de scanner notre disque dur pour récupérer des chemins de fichiers.
00:00:30 :Donc ça fait trois modules pour gérer nos chemins de fichiers, pour les déplacer, pour les créer, etc.Et le gros problème de ces trois modules, c'est qu'à chaque fois on va utiliser des chaînes de caractère.
00:00:40 :Par exemple ici, j'ai un chemin vers un fichier Pythonet ce chemin avec le module OS, Shuttle et Globe, je vais le passer en tant que chaîne de caractère.
00:00:50 :Donc le problème avec ça, c'est que pour récupérer des informations sur ce chemin,on va devoir soit utiliser des modules comme le module OSet leur passer à chaque fois cette chaîne de caractère à différentes fonctions qui sont disponibles dans ces modulesou alors même carrément faire des opérations de chaînes de caractère comme des splits ou des joins
00:01:08 :pour aller récupérer certaines parties d'un fichier comme par exemple l'extension ou un dossier parent.Avec le module OS, par exemple, si on veut récupérer le dossier parent,on va utiliser la fonction DearName qui est dans le module OS.Path.
00:01:21 :Donc on va avoir OS.Path.DearName et on passe à cette fonction, notre chaîne de caractèreet dans ce cas-ci, ça nous retournerait donc le dossier parent, à savoir la chaîne de caractèreslash user slash tbash. Donc là encore, à chaque fois, ça va nous retourner une chaîne de caractère
00:01:35 :et si on souhaite donc répéter l'opération, ça devient très rapidement assez lourdpuisqu'on va devoir réencapsuler tout ça dans une nouvelle fonction, dans ce cas-ci là encore la fonction DearName.
00:01:45 :Donc pour récupérer le dossier parent du dossier parent.Donc très rapidement, vous voyez que c'est assez lourd au niveau de l'écriture,c'est pas du tout pratique à utiliser, on va avoir beaucoup de risque d'erreurpuisqu'on va manipuler directement des chaînes de caractère plutôt que des objetset donc c'est là où la librairie Pathlib vient à la rescousse.
00:02:04 :De la même façon, si on souhaite récupérer par exemple l'extension d'un fichier,on va utiliser avec le module OS la fonction SplitHext qui dans ce cas-ci nous retourneun tuple avec une chaîne de caractère dans chaque élément du tuple,donc on va avoir deux éléments, le deuxième élément du tuple sera l'extension
00:02:21 :et donc il faut récupérer ce deuxième élément avec les crochets en indiquant l'indice numéro 1.Donc là encore, beaucoup de risque d'erreur puisqu'on pourrait récupérer par exemplele mauvais indice et se retrouver avec une erreur, etc.
00:02:33 :Et là encore, on passe par une fonction, une chaîne de caractère,donc ce n'est pas du tout pratique à utiliser.Heureusement, on a donc le module Pathlib qui va nous permettre,plutôt que de passer par des chaînes de caractère, d'utiliser des objets.
00:02:47 :On va donc pouvoir créer un objet de type chemin et utiliser toute la logiqueet la puissance de l'orienté objet pour récupérer des informations sur cet objet.
00:02:57 :Par exemple, si on souhaite refaire les mêmes deux opérations que précédemment,comme récupérer le dossier parent, on peut tout simplement utiliser la notationavec le point pour récupérer le parent de notre objet.
00:03:08 :Pareil pour l'extension, on peut grâce à l'attribut suffixe récupérer très simplementet sans avoir besoin de manipuler des tuples ou autres éléments du genre,l'extension de notre fichier.
00:03:18 :Donc vraiment Pathlib, ça vous sauve la vie, ça permet de faire les chosesbeaucoup plus facilement, de façon beaucoup plus agréable, efficace.En écrivant beaucoup moins de lignes de code, on va pouvoir faire toutes les opérationsqu'on fait avec OS ou avec Globe, comme récupérer des dossiers, créer des fichiers,
00:03:33 :scanner même notre disque dur comme on le faisait avec Globe.Donc tout ça, on va pouvoir le faire directement avec Pathlib.La seule restriction, c'est que cette bibliothèque n'est inclue de baseque dans les versions de Python qui sont supérieures à la version 3.4.
00:03:47 :Donc supérieure ou égale, puisque c'est à partir de la 3.4que cette bibliothèque a été inclue de base avec Python.Donc si vous utilisez des librairies qui sont inférieures à cette version,malheureusement, vous ne pourrez pas utiliser cette façon de faire.
00:01:13
Exemple avec le module os
00:02:39
Exemple avec le module pathlib
00:03:39
La seule restriction
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.