Maison > Article > développement back-end > Comment transmettre une liste d’arguments à un programme en ligne de commande à l’aide de argparse ?
Lors de la création de programmes en ligne de commande, il est souvent avantageux de permettre aux utilisateurs de passer des listes comme arguments. argparse rend cela possible, en fournissant plusieurs options pour y parvenir.
nargs
Pour recevoir une liste d'arguments, utilisez le paramètre 'nargs'. Spécifiez « » pour accepter un ou plusieurs arguments, « * » pour en accepter zéro ou plus, « ? » pour accepter zéro ou un, ou un nombre spécifique (comme 2) pour accepter ce nombre exact d'arguments.
parser = argparse.ArgumentParser()<br>parser.add_argument('- l', '--list', nargs=' ')<br>
Cette approche permet aux utilisateurs de fournir facilement plusieurs arguments en une seule entrée.
append
Vous pouvez également utiliser l'action « ajouter » pour ajouter chaque argument à une liste au fur et à mesure qu'il est rencontré.< /p>
parser.add_argument('-l', '--list', action='append')<br>
Cette méthode nécessite des utilisateurs pour spécifier l'indicateur plusieurs fois, un pour chaque argument qu'ils souhaitent inclure dans la liste.
Éviter type=list
Exemple d'utilisation
Considérez un script dans lequel l'utilisateur doit transmettre une liste d'entiers.
parser = argparse.ArgumentParser()<br>parser.add_argument('-l', '--list', nargs=' ', type=int)<br>
Cela permet à l'utilisateur de saisir plusieurs entiers, qui sont ensuite automatiquement convertis en une liste d'entiers et stockés dans la variable 'list'.
Remarque :
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!