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