Je lis le module argparse . Je me suis coincé comme quoi métavar et action signifie
>>> parser.add_argument('integers', metavar='N', type=int, nargs='+',
... help='an integer for the accumulator')
>>> parser.add_argument('--sum', dest='accumulate', action='store_const',
... const=sum, default=max,
... help='sum the integers (default: find the max)')
J'ai peut-être manqué mais d'après ce que j'ai lu, je n'ai pas pu trouver de définitions pour metavar
et action (action="store_const", etc)
. que signifient-ils réellement?
metavar est utilisé dans les messages d'aide à la place d'un argument attendu. Voir FOO
est un metavar
par défaut ici:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo')
>>> parser.add_argument('bar')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo FOO] bar
...
action définit comment gérer les arguments de la ligne de commande: stockez-le comme une constante, ajoutez-le dans une liste, stockez une valeur booléenne, etc. Plusieurs actions intégrées sont disponibles, plus il est facile d'écrire une coutume une.
Metavar: Il fournit un nom différent pour l'argument facultatif dans les messages d'aide. Fournissez une valeur pour l'argument du mot clé metavar dans add_argument ().
par exemple:
>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage: [-h] [--foo YYY] XXX
positional arguments:
XXX
optional arguments:
-h, --help show this help message and exit
--foo YYY
Référence - http://www.usatlas.bnl.gov/~caballer/files/argparse/add_argument.html
Action: Les arguments peuvent déclencher différentes actions, spécifiées par l'argument action de add_argument (). Il existe six actions intégrées qui peuvent être déclenchées lorsqu'un argument est rencontré:
(1) Store - Enregistrez la valeur, après l'avoir éventuellement convertie en un autre type. Il s'agit de l'action par défaut prise si aucune n'est spécifiée explicitement.
(2) store_true/store_false - Enregistre la valeur booléenne appropriée.
(3) store_const - Enregistre une valeur définie dans le cadre de la spécification d'argument, plutôt qu'une valeur provenant des arguments analysés. Ceci est généralement utilisé pour implémenter des indicateurs de ligne de commande qui ne sont pas booléens.
(4) ajouter - Enregistrer la valeur dans une liste. Plusieurs valeurs sont enregistrées si l'argument est répété.
(5) append_const - Enregistre une valeur définie dans la spécification d'argument dans une liste.
(6) version - Imprime les détails de la version du programme, puis quitte.
Référence - http://bioportal.weizmann.ac.il/course/python/PyMOTW/PyMOTW/docs/argparse/index.html
Ce que vous nous avez montré n'est que le premier exemple. Les sections pertinentes des documents Python: