Python getopt vs argparse comparé

Python getopt vs argparse comparé

Plus de codes sont nécessaires pour invoquer l'argument système de tableau système dans le package «getOPT», ce qui est moins efficace que le package «argparse». Cependant, il semble avantageux de pouvoir déchiffrer, écrire et utiliser ce produit. Ce code est facilement compris par les novices et ne nécessite aucun commentaire. Le module «getopt» est un analyseur de choix de ligne de commande avec une API qui est destinée à être familière à ceux qui ont utilisé la fonction «getOpt ()». Les utilisateurs peuvent envisager de tirer parti du module «ArgParse» plutôt que de la fonction «getOpt ()» si nous souhaitons écrire moins de code avec une meilleure assistance et des messages d'erreur. L'outil d'écriture d'interface de ligne de commande pour le langage de programmation Python est «ArgParse», un composant de la bibliothèque standard. La création de configurations de ligne de commande conviviales dans le module «ArgParse» est simple. Le programme spécifie les arguments qu'il recherche, puis «Argparse» utilise comment extraire ces arguments de l'argument du système. De plus, le module «ArgParse» crée automatiquement des messages d'aide d'utilisation.

Syntaxe

La syntaxe pour Python «Getopt» est fournie ci-dessous:


Cette syntaxe a près de trois parties: «Args» fait référence aux arguments qui seraient passés dans la chaîne ou la fonction, tandis que la deuxième partie, «Options», fait référence au script à la recherche d'une chaîne de lettres d'option. Un côlon doit être placé après tout choix qui exige un argument. La dernière partie de la syntaxe, «long_options», détermine la liste des noms pour les longues options dans un format de chaîne, et un signe égal devrait suivre les arguments facultatifs.

La syntaxe de Python Argparse est donnée ci-dessous:


La syntaxe de «Argparse» est d'abord créée une fonction et en créant ou en attribuant ou en attribuant les arguments système à la fonction à créer.

Exemple n ° 1: Utiliser le module getOPT () pour créer une fonction pour obtenir des arguments par des lettres abrégées

Maintenant, nous allons discuter de la façon dont nous pouvons créer notre fonction pour les arguments système et les appeler par l'abréviation de lettres qui sont «G» et «H» que nous avons utilisées dans cet article.


L'extrait de code pour «getOpt ()» est expliqué ici.

Discutons de l'exemple de code que nous avons utilisé lorsque nous avons d'abord importé la bibliothèque de «SYS», et la deuxième bibliothèque que nous avons utilisée est «Getopt». Ensuite, nous avons créé notre fonction nommée «Your_name», qui stocke deux variables, qui sont «Sur_name» et «Middle_name». Au moment de la définition de la fonction, aucune valeur n'est attribuée à ces deux variables, «Sur_name» et «Middle_name». Ensuite, nous avons créé une variable de stockage de mémoire «argv» qui stockerait «sys.argv [2:] ".

Pour appliquer le phénomène de l'utilisation des lettres d'abréviation, nous avons utilisé le «getOPT.GetOpt () ”Fonction sur le stockage de variables ou de mémoire« Argv »et l'a attribué deux lettres abrégées,« g »et« h ». Dans la condition «sauf», nous avons utilisé la fonction «print ()» pour imprimer l'instruction «L'erreur a générée» si l'utilisateur appuye sur une touche qui est une touche sauf «G» ou «H».

Pour les options dans un argument, nous avons utilisé une déclaration conditionnelle à cette fin où la condition «IF» sera liée au «Sur_name» si nous appuyons sur la touche «G» et que la condition «Else» sera liée au «H» touche si nous appuyons sur. Il afficherait le «middle_name» qui est présent dans notre argument. Dans le dernier, nous avons utilisé la fonction "print ()" pour imprimer le "Sur_name" avec le "Middle_name" dans l'affichage de sortie. Et pour mettre fin à la fonction, nous renvoyons notre fonction dans le dernier en utilisant "Your_name ()".


Notre instantané de sortie montre que nous avons utilisé «Desktop» en premier, car notre Python est enregistré sur le bureau. Après avoir tapé "Desktop", nous écrivons le nom du fichier "You_name.py ”et appuyez sur Entrée. Lorsque nous appuyons sur notre touche abrégée, «G», il affiche «Sur_name», qui est «AQSA», puis appuyez sur «H»; Il affichera «Aqsa Yasin Python» avec le nom complet.

Exemple n ° 2: Utilisation du module getOPT () pour créer une fonction pour obtenir des arguments à partir de la forme complète des lettres



Dans cet exemple du module «getOpt ()», nous avons importé les mêmes bibliothèques, «sys» et «getopt», comme dans l'exemple précédent. La fonction est créée comme «votre_name». Cette fonction stocke deux variables, «First_name» et «Sur_name», où les deux valeurs sont attribuées «Aucun». Pour passer l'argument du système, nous avons utilisé «sys.Argv [1:]. Dans la condition «essayez», nous avons utilisé des lettres complètes pour le nom. Au lieu de «G» et «H», nous les avons considérés comme «First_name» et «Sur_name». La condition de «sauf» stockera la déclaration d'impression pour le cas. Si l'erreur est générée, il s'exécutera sauf en condition si un argument n'est pas présent dans la ligne de commande.

L'option du phénomène d'argument est similaire à l'exemple précédent. Mais, ici dans l'énoncé conditionnel de «If» et «Else», nous utiliserons «First_name» et «Sur_name» au lieu de «G» et «H» et variable que nous avons utilisés pour le stocker est «F» et «L». La dernière fonction "print ()" est maintenant utilisée pour imprimer "first_name" avec le "Sur_name", puis renvoie la fonction en utilisant "your_name ()".


Lorsque nous ouvrirons la ligne de commande, nous irons au «Desktop» lorsque le fichier de code est enregistré sur le bureau, puis écrivons le nom du fichier «Votre_Name.py "où".py ”est utilisé comme fichier d'extension pour python. Il renverra "First_name" comme "AQSA" et "Sur_name" comme "Yasin". En raison de la fonction «print ()» utilisée dans la dernière ligne, il imprimera à nouveau le nom «AQSA Yasin» en lettres capitalisées .

Exemple # 3: Utiliser le module argparse () pour créer un programme de ligne de commande qui accepte les arguments connexes

Passer l'argument du module de ligne de commande «Argparse» est bien meilleur pour les utilisateurs du module «getOPT». Pour expliquer le module «Argparse», nous avons utilisé les étapes suivantes, qui sont données ci-dessous:


Nous avons d'abord créé un fichier dans notre système avec le nom «Argparse.py "car le fichier est lié à Python, nous avons donc utilisé le".extension py ”. Ce fichier, «Argparse.py ”, stocke le code python. Nous ouvrons le terminal de la ligne de commande, et premièrement, nous insérons cette commande pour atteindre ce fichier «Nano Argparse.py ".


Ceci est l'extrait de code dans notre fichier «Argparse.py ". Maintenant, si nous discutons de ce code, nous pouvons voir au début que nous avons d'abord importé la bibliothèque de "Argparse". Ici, pour passer deux arguments dans le code, nous avons utilisé un total de deux arguments comme «Command_1» et «Command_2». Les valeurs d'arguments «Command_1» sont «l'Angleterre,« Australie »et« Pays de Galles ». Le «Command_2» a attribué les valeurs d'argument comme «Namibie» et «Chine». Ensuite, nous avons créé un «analyseur» pour passer l'argument avec la description de la «liste des pays».

L'argument passé est «Commande», où le type que nous avons utilisé est «String». Et puis, nous avons créé «Args», qui effectuera l'analyse de l'argument par «Parser.parse_args () ". Ensuite, nous avons créé des «pays», qui conserveront les arguments comme «commande», puis nous imprimons les deux arguments en utilisant la fonction «print ()».


Pour afficher le premier argument stocké dans «Command_1», nous taperons les lignes précédentes dans le terminal de la ligne de commande.


Après avoir passé la commande, il affichera les arguments de «Command_1», qui sont «Angleterre», «Australie» et «Pays de Galles».


Pour atteindre les arguments dans le «Command_2», nous tapons «Argparse.py Command_2 ”et appuyez sur Entrée dans CMD.


Après avoir appuyé sur Entrée, il affichera les arguments de «Command_2», qui sont «Namibie» et «Chine».


Si nous voulons atteindre la description de notre fichier «Argparse.py ", nous tapons cet" argparse.py -h ”dans la ligne de commande.


Ensuite, il affichera toute la description de notre fichier Python où il désigne «Liste des pays» comme description, et les arguments de position ici sont «Command».

Conclusion

Dans cet article, nous avons couvert la comparaison entre deux modules de Python, qui sont «getopt» et «argparse». Comme nous l'avons vu à travers la discussion à travers nos exemples, nous avons déterminé que Python «Argparse» est un module plus efficace et puissant que «getopt». Les deux premiers exemples couvrent le module Python «Getopt», et les deux autres exemples couvrent «Argparse» pour les arguments système.