Au lieu d'avoir un tas de littéraux dispersés à travers des appels à add_argument
, comme ceci:Puis-je passer un objet dans argparse.add_argument?
parser.add_argument('--foo',
required=False,
metavar='bar',
type=str,
help='help message',
default='default')
parser.add_argument('--foo2',
required=False,
metavar='bar2',
type=str,
help='help message',
default='default')
J'espérais que je pourrais créer un conteneur d'abord, puis ajouter tous les arguments dans une boucle.
Quelque chose comme ceci:
for arg in argument_container:
parser.add_argument(arg)
Je ne suis pas assez familier avec la façon dont python accepte ces paramètres pour comprendre si elles peuvent être extraites dehors dans une sorte d'objet littéral comme je veux.
Existe-t-il un moyen d'extraire d'abord tous les paramètres dans un conteneur, puis d'ajouter tous les arguments à la fois dans une boucle, comme indiqué ci-dessus?
Avez-vous essayé de le faire? – JohanL
J'ai essayé de passer dans un dictionnaire, ça ne marche pas. J'ai essayé de créer une sorte de littéral d'objet comme un tuple nommé, cela n'a pas fonctionné. J'ai regardé l'implémentation de add_argument, mais je ne suis toujours pas sûr de ce qui peut être accepté dans la fonction. –