L'outil de paramètre de ligne de commande est notre outil très populaire. La meilleure façon est de mettre les paramètres nécessaires à via le formulaire via la ligne de commande, de sorte que nous n'avions besoin que de modifier les paramètres lors de l'exécution. Oui.
1. SYS.ARGV
Le moyen le plus simple d'analyser la ligne de commande est via
sys.argv SYS. ARGV peut obtenir les paramètres que nous avons transmis par la ligne de commande. L'utilisation est simple, appelez simplement sys.argv. ARGV est un tableau accessible par l'index si le paramètre est disponible. Mais une chose à noter, le résultat stocké dans ARGV commence à partir d'appels Python. Prenons un exemple, nous allons transférer certains paramètres comme vous le souhaitez, puis c'est le cas.import sysprint(sys.argv)
Cela signifie que notre python exécute le test. Ce nom de fichier
est également l'un des paramètrespython test.py -a -c -d=222 >>> ['test.py', '-a', '-c', '-d=222']
, nous devons donc recevoir des paramètres personnalisés, le besoin de Sparv [1] Démarrer. Les avantages de très sys.argvPratique, nous devons simplement y accéder, vous pouvez obtenir les paramètres. Mais les inconvénients sont également clairs, c'est des fonctions trop petites. Si nous examinons d'autres grands codes, nous voulons connaître les paramètres doit être créé lors de l'exécution et le niveau moyen de chaque paramètre représente. Pour résoudre ce problème, nous devons utiliser plus de fonctionnalités et d'outils d'emballage de base de cet article - argarte .
L'Argarparse est une bibliothèque de Python, nous devons d'abord entrer, cette bibliothèque, je ne me souviens pas d'être python, ni d'installer nous pouvons utiliser ça directement.
Avant de l'utiliser, nous devons initialiser cette analyse d'abord, qui est l'analyseur de paramètres.
À ce stade, il y avait un analyseur. Nous pouvons transférer des paramètres lorsque nous exécutons, indiquez l'aide, ce qui permet de voir les paramètres définis dans l'analyseur actuel. BParce que maintenant nous n'avons rien, seule aide peut être affichée.
# 这里ArgumentParser可以传入一个字符串,表示用途parser = argparse.ArgumentParser()parser.parse_args()
Paramètres obligatoires
Premièrement, veuillez introduire
Les paramètres doivent choisir
, sa définition et sa fonctionnalité sont les paramètres requis sont les mêmes, ce qui signifie que les paramètres Nous devons courir. Si vous ne passez pas, le programme n'exécutera pas d'erreurs et d'une invite.Le procédé de détermination des paramètres nécessaires est simple, il suffit de transférer le nom d'Ad_argument au paramètre.
De cette manière, nous définissons un paramètre avec un nom de test, nous pouvons y accéder via Args.Test. À ce stade, nous allons diriger Python Test.py -h trouvera qu'il ya beaucoup d'informations sur les informations:
import argparseparser = argparse.ArgumentParser("For test the parser")parser.add_argument('test')args = parser.parse_args()print(args.test)
Savoions que des tests sont des tests dans les paramètres ] Les paramètres requis sont passés directement et aucun préfixe n'est ajouté . Donc quand nous exécutons, vous pouvez directement python test.pyXxx.
4 Paramètres facultatifs
Il existe bien sûr des paramètres facultatifs, les paramètres facultatifs ne sont pas sélectionnés, nous devons donc être devant les paramètres lors de l'utilisation de logo plus - ou -. Par exemple, notre nom de paramètre s'appelle Test, qui peut être défini comme -Test ou -Test, les deux peuvent être déterminés.
Nous courons -h pour trouver plus de tests et de -est dans des arguments facultatifs.
Mais cette impression provient du nom du paramètre, ne nous indiquez pas quel paramètre est actif, tout comme le paramètre d'aide, suivez la notification de l'aide l'aide et quittez cette invite. Que se passe-t-il si nous voulons aussi aider à inciter nos paramètres?
Nous pouvons transférer des paramètres de support pour le rappel que nous souhaitons imprimer, de sorte que les utilisateurs comprennent le cas des paramètres lors de l'utilisation. Par exemple, nous modifions cette déclaration de ligne:
parser.add_argument('-test', '--test')
Lorsque nous exécutons, vous verrez l'invite:
jeudi
Si les paramètres sont beaucoup, nous ne voulons parfois pas que chaque personne spécifie une valeur, mais espère qu'il existe une défaillance lorsque vous ne remplissez pas. Cette idée est très normale. Il est également très simple de le faire, nous pouvons spécifier des paramètres
par défautparser.add_argument('-test', '--test', help='just for help')
. Exemple: nous définissons la valeur par défaut des paramètres de test dans le code. Lorsque nous exécutons, si vous ne remplissez pas le paramètre, le programme l'utilisera. Les excès sont 1.
Toutefois,
, il existe un bitInformations sur l'aide imprimée par défaut
Nous devons donc dire aux utilisateurs la valeur par défaut dans l'invite.
Six, type Nous pouvons déterminer la valeur par défaut des paramètres, bien sûr, peut également déterminer son type. Parce que
Les paramètres de la ligne de ligne de commande de la ligne de commande sont une chaîneimport argparseparser = argparse.ArgumentParser("For test the parser")parser.add_argument('-test', '--test', default=1, help='just for help')args = parser.parse_args()print(args.test)
, si nous voulons effectuer des calculs mathématiques, utilisez STR pour être convertit, c'est très gênant. Nous avons tTerminez le type de correspondance lorsque vous transférez les paramètres, donc si le type de paramètre s'efforce, le rapport d'erreur directement, ne s'épuise pas. est également très simple de le faire, vous pouvez le faire via le paramètre de type.
Par exemple: Lorsque nous définissons le paramètre de type INT, c'est le type à ne pas correspondre, il entraînera des erreurs:
parser.add_argument('-test', '--test', default=1, type=int, help='just for help')
parser.add_argument('-test', '--test', default=1, choices=[2, 3, 4], type=int, help='just for help')
parser.add_argument('-test', '--test', action='store_true', help='just for help')
Le message d'erreur est très clair, nous recevons une valeur Int invalide, qui est abc. Sept, valeur facultative , il prend également en charge les valeurs facultatives, c'est bien compris, c'est-à-dire que nous espérons que des limites de la plage des paramètres à seulement quelques zhongs ]. Par exemple: nous espérons que la valeur de l'arrivée n'est pas 0 est de 1 ou de quelques valeurs spécifiques, cette fois, nous pouvons y parvenir via le paramètre de sélection. Le paramètre de sélection est intégré à la liste, qui est notre gamme limitée, seule la valeur de ceci est autorisée.. Si nous exécutons un test de test = 1, cela entraînera une erreur, indiquez-nous que la valeur n'est pas disponible dans la plage de sélection. C'est un exemple très intéressant, veillez à ce que notre valeur par défaut est définie sur 1, mais la valeur facultative n'est pas 1. Ceci est également autorisé, La valeur par défaut peut ne pas être dans La valeur optionnelle , mais vérifier la valeur optionnelle activée lorsque nous passons 1. Huit, l'action est une activité très magique et utile, peut spécifier le mode de traitement. du paramètre . Notre approche par défaut est le magasin, qui est la signification du stockage que nous pouvons comprendre. De plus, il y a store_true, indiquant qu'il y a de vrai, sinon faux. Lorsque nous modifions la définition des paramètres de vérification à cela, nous comprendrons les résultats de fonctionnement. Outre le magasin_true, il reste une valeur fixe, c'est-à-direL'apparence est indiquée comme une valeur fixe. Ceci est automatiquement attribué 23 après avoir spécifié le paramètre -Test. En plus de ces deux paramètres, un autre paramètre couramment utilisé est un connecteur , peut automatiquement stocker les mêmes paramètres dans la liste. Neuf, NARGS NARGS est également un paramètre très utile qui peut être effectué pour certaines opérations préférées sur les paramètres. Les paramètres de revenus de NARGS ont le suivant, premier N, c'est un entier. Les représentants peuvent recevoir des valeurs de paramètre N , qui seront stockées dans la liste. Les autres paramètres sont '+' ou '*' peuvent stocker toutes les valeurs de la liste. Dix, Résumé Après l'analyseur, nous avons géré les paramètres de ligne de commande à Python pour devenir très simple, nous pouvons réaliser de différentes opérations personnalisées. En plus de leur introductionJe suis d'autres pratiques qui ne sont pas très populaires, ce n'est donc pas un étudiant pauvre, qui est intéressant peut le comprendre.