Gestion des listes en tant qu'arguments de ligne de commande avec argparse
En Python, le module argparse facilite l'analyse des arguments de ligne de commande. Lorsque vous travaillez avec des listes comme arguments, il est crucial de comprendre les options appropriées.
nargs
Une méthode consiste à utiliser des nargs, qui spécifient le nombre d'arguments acceptés pour un option. Par défaut, nargs=1 accepte un seul argument. Cependant, l'utilisation de nargs=' ' ou nargs='*' autorise plusieurs arguments.
<code class="python">parser.add_argument('-l', '--list', nargs='+', help='Set flag')</code>
action='append'
Une autre alternative est action='append '. Cette approche ajoute chaque argument rencontré à une liste au lieu de les rassembler dans un seul argument.
<code class="python">parser.add_argument('-l', '--list', action='append', help='Set flag')</code>
Évitez type=list
En revanche, en utilisant type=list est généralement déconseillé avec argparse. Il interprète chaque argument comme une liste, ce qui donne une liste de listes.
Démonstration
Le code fourni démontre l'utilisation de ces options :
<code class="python">import argparse parser = argparse.ArgumentParser() # Demonstration with nargs parser.add_argument('--nargs', nargs='+') # Demonstration with action='append' parser.add_argument('--append-action', action='append') for _, value in parser.parse_args()._get_kwargs(): if value is not None: print(value)</code>
Sortie :
En supposant que le script soit invoqué avec python arg.py --nargs 1234 2345 3456 4567, la sortie avec nargs sera :
['1234', '2345', '3456', '4567']
Alternativement, invoquer le script avec python arg.py --append-action 1234 --append-action 2345 --append-action 3456 --append-action 4567 produira :
['1234', '2345', '3456', '4567']
Lignes directrices
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!