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 : Sélectionner tout - Visualiser dans une fenêtre à part
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...