[PYTHON] Comment utiliser argparse et la différence entre optparse

Auparavant, j'ai écrit un article comme Comment utiliser OptParser, mais apparemment argparse.ArgumentParser est meilleur.

Donc, une note sur la façon d'utiliser argparse.ArgumentParser

# -*- coding:utf-8 -*-
from optparse import OptionParser
from argparse import ArgumentParser
 
if __name__ == '__main__':
 
    """Chaîne de caractères à afficher lorsqu'une erreur de commande se produit"""
    desc = u'{0} [Args] [Options]\nDetailed options -h or --help'.format(__file__)
    # %prog ne peut pas être sorti
    # usage = u'%prog [Args] [Options]\nDetailed options -h or --help'

    parser = ArgumentParser(description=desc)
    # _parser = OptionParser(usage=usage, version=1.0)
 
    #Chaîne
    parser.add_argument(
        '-q', '--query',
        type = str,         #Spécifiez le type de valeur à recevoir
        dest = 'query',     #Enregistrer le nom de la variable de destination
        required = True,    #Article requis
        help = 'Mot à rechercher' # --Déclaration à afficher au moment de l'aide
    )
    # _parser.add_argument(
    #     '-q', '--query',
    #     action = 'store',
    #     type = 'str',               #Spécifiez le type de valeur à recevoir
    #     dest = 'download_date',     #Enregistrer le nom de la variable de destination
    #     help = 'Mot à rechercher'  # --Déclaration à afficher au moment de l'aide
    # )

    #Valeur numérique
    parser.add_argument(
        '-w', '--worker',
        type = int,
        dest = 'worker',
        default = 1,
        help = 'Nombre de multi-processus'
    ) 
    #Valeur booléenne
    parser.add_argument(
        '-b', '--bool',
        action = 'store_true', # store_True met True dans dest(store_Il y a aussi du faux)
        dest = 'bool'
    )
 
    # """Définissez la valeur par défaut pour chaque option"""
    # _parser.set_defaults(worker = 1)
 
    """Options de perspective"""
    args = parser.parse_args()
    # _options, _args = _parser.parse_args()
 

    """La valeur spécifiée dans l'option est args.<Nom de variable>Peut être obtenu avec"""
    query, worker, bool = args.query, args.worker, args.bool
    # query, worker, bool = _options.query, _options.worker, _options.bool
    if worker > 100
        #Lors de la génération d'une erreur ↓ Comme ça
        parser.error('Trop de processus')
 
    print args

Je ne pense pas qu'optparse et argparse changeront autant Il semble que diverses fonctions aient été ajoutées à argparse, car les détails ont changé, mais en gros, cela suffit.

référence

http://docs.python.jp/2/library/argparse.html

Recommended Posts

Comment utiliser argparse et la différence entre optparse
Comment utiliser le module optparse
Comment utiliser OptParse
Comment utiliser le générateur
Comment utiliser Python Argparse
Comment utiliser le décorateur
Comment utiliser la commande grep et des exemples fréquents
Comment utiliser la fonction zip
Comment installer et utiliser Tesseract-OCR
Comment utiliser .bash_profile et .bashrc
Comment utiliser le module ConfigParser
Comprendre la différence entre l'affectation cumulative aux variables et l'affectation cumulative aux objets
Comment utiliser le pipeline Spark ML
Comment installer et utiliser pandas_datareader [Python]
[Linux] Comment utiliser la commande echo
python: Comment utiliser les locals () et globals ()
Comment utiliser le zip Python et énumérer
Comment utiliser le débogueur IPython (ipdb)
Comment utiliser is et == en Python
[Introduction à Python] Comment utiliser l'opérateur booléen (et ・ ou ・ non)
Comment utiliser les pandas Timestamp et date_range
[Introduction à Python] Quelle est la différence entre une liste et un taple?
Comment obtenir la différence de date et d'heure en secondes avec Python
[Python] Comment utiliser la fonction enumerate (extraire le numéro d'index et l'élément)
Comment utiliser la bibliothèque C en Python
Quelle est la différence entre «pip» et «conda»?
Comment utiliser MkDocs pour la première fois
Introduction du cadre de style Sinatra et comment l'utiliser
Comment utiliser la bibliothèque de dessins graphiques Bokeh
À propos de la différence entre "==" et "is" en python
Comment utiliser l'API du guide des programmes NHK
[Algorithm x Python] Comment utiliser la liste
Comment basculer entre les shells Linux et Mac
Comment installer le détecteur Cascade et comment l'utiliser
À propos de la différence entre PostgreSQL su et sudo
Quelle est la différence entre Unix et Linux?
Comment utiliser xml.etree.ElementTree
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser la correspondance d'image
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment utiliser numpy.vectorize
Comment utiliser pytest_report_header
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment utiliser SymPy
Comment utiliser x-means
Comment utiliser WikiExtractor.py
Comment utiliser IPython
Comment utiliser iptables
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv