Bonjour,
J'ai lu la doc sur argparse mais je ne comprends pas du tout comment ca marche. Pouvez-vous m'expliquer et me donner des exemples svp ?
merci
Bonjour,
J'ai lu la doc sur argparse mais je ne comprends pas du tout comment ca marche. Pouvez-vous m'expliquer et me donner des exemples svp ?
merci
Salut,
La documentation Python vient avec un tuto sur argparse.
Explications et exemples sont là, enfin pour commencer.
Après si vous avez des soucis particuliers...
- W
justement j'ai regardé la doc mais je ne comprends pas.. Je ne vois pas à quoi sa sert
Par contre merci pour les Cours et tutoriels pour apprendre la programmation Python , surtout celui la est génial : Apprendre à programmer avec Python 3 par Gérard Swinnen![]()
Que peut-on expliquer de plus que des tutoriels ? Voici un tutoriel en français, mais la prochaine fois faite une recherche, vous gagnerez du temps.
Bonjour,
Ça sert à gérer correctement les arguments passés dans les lignes de commande au lancement des programmes Python dans une console.
Et ça marche très bien! Mais je me rappelle que la 1ère fois, j'ai ramé un moment avant de comprendre comment l'utiliser.
Voilà un petit exemple issu d'un de mes programmes (un petit éditeur de texte):
Exemples d'appel du programme qui se nomme, par exemple, editeur.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 #!/usr/bin/python # -*- coding: utf-8 -*- # Python 3 import sys ############################################################################# def apropos(): print("à propos du logiciel") ############################################################################# def version(): print("version du logiciel! 1.0.0") ############################################################################# def main(): global dargs print(dargs['fichier']) print(dargs['encod']) ############################################################################# if __name__ == "__main__": import argparse # création du parse des arguments parser = argparse.ArgumentParser(description="Editeur") # déclaration et configuration des arguments parser.add_argument('fichier', nargs='?', type=str, action="store", default="", help="fichier à ouvrir") parser.add_argument('-e', '--encod', type=str, default="", help="encodage du fichier") parser.add_argument('-a', '--about', action='store_true', default=False, help="A propos du logiciel") parser.add_argument('-v', '--version', action='store_true', default=False, help="Version du logiciel") # dictionnaire des arguments dargs = vars(parser.parse_args()) # print(dargs) # affichage du dictionnaire pour mise au point if dargs['about']: apropos() sys.exit() if dargs['version']: version() sys.exit() main()
La dernière ligne donne un chouette résultat: il s'affiche un "help" assez explicite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9editeur.py toto.txt editeur.py toto.txt -e utf-8 editeur.py -a editeur.py -v editeur.py -h
Sur la base de cet exemple, essaie ensuite d'ajouter des options jusqu'à ce que tu arrives à ce que tu souhaites.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 usage: editeur.py [-h] [-e ENCOD] [-a] [-v] [fichier] Editeur positional arguments: fichier fichier à ouvrir optional arguments: -h, --help show this help message and exit -e ENCOD, --encod ENCOD encodage du fichier -a, --about A propos du logiciel -v, --version Version du logiciel
Partager