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.
http://docs.python.jp/2/library/argparse.html
Recommended Posts