-
Notifications
You must be signed in to change notification settings - Fork 0
Bonus : script de trie de fichier
Si je faisais un résumé simple de ce script ce serait un gestionnaire de fichiers qui permet de déplacer des fichiers d'un dossier source à un dossier destination. Si on va plus dans les détails, j'ai utilisé le CLI (interface en ligne de commande) click qui me permet de définir des décorateurs à une fonction qui agissent sur celle-ci comme des paramètres. Il permet l'utilisation de paramètres lors du lancement du script avec une interface d'aide. Pour ce qui est de la gestion des fichiers j'ai utilisé 2 bibliothèques, os et shutil qui sont toutes les deux très utiles pour la modification et le déplacement de fichier. os sera plus utilisé pour vérifier si des fichiers existent déjà ou pour donner les chemins d'accès aux différents fichiers et dossiers. shutil sera quand à lui utilisé pour déplacer les fichiers du dossier source au dossier destination. En clair mon script permet le déplacement de plusieurs fichiers contenu dans un dossier source vers un dossier destination, tout cela via un CLI clair et documenté avec des informations sur les paramètres possible.
J'ai voulu m'exercer à l'utilisation des décorateurs et pour cela j'ai trouvé la bibliothèque click qui permet de créer des applications CLI (interface en ligne de commande). Les CLI sont très souvent utilisés pour exécuter des programmes et effectuer des tâches liées au système d’exploitation (OS), comme la création et la gestion de fichiers. Ce sont des compétences très pratique en python.
Sachant que nous avons déjà utilisé la librairie os dans les tps du cours et qu'elle est très souvent sitée lorsque l'on parle d'utiliser les fonctionnalités dépendantes d'un système d'exploitation.
Lorsque l'on va lancer le script avec l'aide de la commande python on va pouvoir passer en paramètre un fichier source, un fichier destination et une option disant ce que l'on veut faire. Comme ceci :
l'option --help va nous renvoyé le menu d'aide avec les options possibles. Comme ceci :
A vous de voir ce que vous voulez faire comme option.
Pour ce qui est de la gestion des erreurs j'ai du importer le module click.testing de la librairie CliRunnerqui me permet de tester les décorateurs implémentés par la bibliothèque click. Les testes sont effectués sur les différentes fonctions du script le tri,suppression,tri par numéro. Le coverage était de 90 % lors de mes testes.