Le module argparse
de Python a ce que l'on appelle des arguments "facultatifs". Tous les arguments dont le nom commence par -
ou --
sont facultatifs par défaut. En règle générale, les arguments obligatoires sont positionnels, et donc lors de l'exécution du programme, ils ne sont pas explicitement nommé.
Par exemple, dans un script qui avait:
parser.add_argument('language', help="Output language")
Les invocations ressembleraient à:
$ hello-world czech
Il peut parfois être plus agréable d'avoir un argument obligatoire passé par nom (par exemple, les invocations scriptées sont plus faciles à lire de cette façon), mais toujours obligatoires. c'est à dire.
$ hello-world --use-lang czech
Comment y parvenir? Les arguments nommés sont appelés "facultatifs" dans la documentation argparse
, ce qui donne l'impression qu'ils ne peuvent pas être obligatoires. Existe-t-il un moyen de les rendre obligatoires?
Selon la documentation canonique, il est possible de déclarer des arguments 'optionnels' obligatoires . Vous utilisez l'argument nommé required
de add_argument
:
parser.add_argument('--use-lang', required=True, help="Output language")