optparse : choice et default
Bonjour,
débutant en python je lutte avec optparse pour pouvoir attribuer un argument par défaut à une commande de type choice.
Voilà l'idée : une option -a ayant comme arguments possibles x, y, z où x est l'argument par défaut si aucun argument n'est donné.
Soit le code suivant :
Code:
1 2 3 4
|
parser.add_option("-a", type="choice", choices=["x", "y", "z"], default="x",
metavar="MODE",
help="command a, possible mode are : x, y, z [default: %default]" |
Tout va bien, en cas d'argument valide ou invalide le résultat attendu me satisfait pleinement. Sauf que si -a n'a pas d'argument j'ai une erreur :
error: -a option requires an argument
À quoi sert default="x" dans ce cas à part définir %default ?
J'ai beau retourner la doc dans tout les sens je ne vois pas d'issue simple à se problème sans coder une fonction spéciale et du même coup me passer de certaines fonctionnalités très satisfaisantes d'optparse...