[PYTHON] Wie man Argparse benutzt und den Unterschied zwischen Optparse

Zuvor schrieb ich einen Artikel als Verwendung von OptParser, aber anscheinend ist argparse.ArgumentParser besser.

Also ein Hinweis zur Verwendung von argparse.ArgumentParser

# -*- coding:utf-8 -*-
from optparse import OptionParser
from argparse import ArgumentParser
 
if __name__ == '__main__':
 
    """Zeichenfolge, die angezeigt wird, wenn ein Befehlsfehler auftritt"""
    desc = u'{0} [Args] [Options]\nDetailed options -h or --help'.format(__file__)
    # %Prog kann nicht ausgegeben werden
    # usage = u'%prog [Args] [Options]\nDetailed options -h or --help'

    parser = ArgumentParser(description=desc)
    # _parser = OptionParser(usage=usage, version=1.0)
 
    #String
    parser.add_argument(
        '-q', '--query',
        type = str,         #Geben Sie den Typ des zu empfangenden Werts an
        dest = 'query',     #Speichern Sie den Namen der Zielvariablen
        required = True,    #Erforderlicher Artikel
        help = 'Wort zu suchen' # --Erklärung, die zum Zeitpunkt der Hilfe angezeigt werden soll
    )
    # _parser.add_argument(
    #     '-q', '--query',
    #     action = 'store',
    #     type = 'str',               #Geben Sie den Typ des zu empfangenden Werts an
    #     dest = 'download_date',     #Speichern Sie den Namen der Zielvariablen
    #     help = 'Wort zu suchen'  # --Erklärung, die zum Zeitpunkt der Hilfe angezeigt werden soll
    # )

    #Numerischer Wert
    parser.add_argument(
        '-w', '--worker',
        type = int,
        dest = 'worker',
        default = 1,
        help = 'Anzahl der Multi-Prozesse'
    ) 
    #Boolescher Wert
    parser.add_argument(
        '-b', '--bool',
        action = 'store_true', # store_True setzt True in dest(store_Es ist auch falsch)
        dest = 'bool'
    )
 
    # """Legen Sie den Standardwert für jede Option fest"""
    # _parser.set_defaults(worker = 1)
 
    """Perspektivenoptionen"""
    args = parser.parse_args()
    # _options, _args = _parser.parse_args()
 

    """Der in der Option angegebene Wert ist args.<Variablennamen>Kann mit erhalten werden"""
    query, worker, bool = args.query, args.worker, args.bool
    # query, worker, bool = _options.query, _options.worker, _options.bool
    if worker > 100
        #Beim Generieren eines Fehlers ↓ So.
        parser.error('Zu viele Prozesse')
 
    print args

Ich denke nicht, dass Optparse und Argparse so viel ändern werden Es scheint, dass argparse verschiedene Funktionen hinzugefügt wurden, da sich die Details geändert haben, aber im Grunde ist dies genug.

Referenz

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

Recommended Posts

Wie man Argparse benutzt und den Unterschied zwischen Optparse
Verwendung des optparse-Moduls
Verwendung von OptParse
Verwendung des Generators
Wie benutzt man Python Argparse?
Wie benutzt man den Dekorateur?
Verwendung des Befehls grep und häufiger Samples
Verwendung der Zip-Funktion
So installieren und verwenden Sie Tesseract-OCR
Verwendung von .bash_profile und .bashrc
Verwendung des ConfigParser-Moduls
Verstehen Sie den Unterschied zwischen der kumulativen Zuordnung zu Variablen und der kumulativen Zuordnung zu Objekten
Verwendung der Spark ML-Pipeline
So installieren und verwenden Sie pandas_datareader [Python]
[Linux] Verwendung des Befehls echo
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von Python zip und Aufzählung
Verwendung des IPython-Debuggers (ipdb)
Verwendung ist und == in Python
[Einführung in Python] Verwendung des Booleschen Operators (und ・ oder ・ nicht)
Verwendung von pandas Timestamp und date_range
[Einführung in Python] Was ist der Unterschied zwischen einer Liste und einem Taple?
So ermitteln Sie mit Python den Unterschied zwischen Datum und Uhrzeit in Sekunden
[Python] Verwendung der Aufzählungsfunktion (Indexnummer und Element extrahieren)
Verwendung der C-Bibliothek in Python
Was ist der Unterschied zwischen "pip" und "conda"?
So verwenden Sie MkDocs zum ersten Mal
Einführung des Sinatra-Frameworks und dessen Verwendung
Verwendung der Grafikzeichnungsbibliothek Bokeh
Über den Unterschied zwischen "==" und "is" in Python
Verwendung der NHK-Programmführer-API
[Algorithmus x Python] Verwendung der Liste
So wechseln Sie zwischen Linux- und Mac-Shells
So installieren Sie den Cascade-Detektor und wie verwenden Sie ihn
Über den Unterschied zwischen PostgreSQL su und sudo
Was ist der Unterschied zwischen Unix und Linux?
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
Wie man Shogun benutzt
Verwendung von Pandas 2
Verwendung von numpy.vectorize
Verwendung von pytest_report_header
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von iptables
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?