documento oficial página web
https://docs.python.org/zh-cn/3/library/argparse.html#module-argparse
https://www.jianshu.com/p/fef2d215b91d
Introducción Uso
argumentos posicionales
parámetros de ubicación, uso no es con - se puede utilizar
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("echo")
args = parser.parse_args()
print args.echo
##定义了一个叫echo的参数,默认必选, 执行程序包含有参数,默认第一个参数赋值给echo ,类似于键值对
argumentos opcionales
Chinos llamados parámetros opcionales, hay dos maneras:
una es por un - parámetros corto especificados, como -H;
es a través de - el parámetro de tamaño especificado, tales como --help
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbosity", help="increase output verbosity")
args = parser.parse_args()
if args.verbosity:
print("verbosity turned on")
##执行
$ python prog.py -v 1
$ python prog.py --verbosity 1
$ python prog.py -v
##可选参数意思是可以使用 -v 也可以使用--verbosity
指定的值会保存在verbosity 中,通过args.verbosity 获取他的值
de acción = 'store_true'
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-v", "--verbose", help="increase output verbosity",
action="store_true")
args = parser.parse_args()
if args.verbose:
print("verbosity turned on")
##不需要指定参数的值, 存的是True和False,-v 如果出现,则其值为True,否则为False
$ python prog.py -v
verbosity turned on
tipo tipo
argparse proporcionar tipo de parámetro analítico, si el tipo no coincide, un error directamente
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('x', type=int, help="the base")
args = parser.parse_args()
answer = args.x ** 2
print(answer)
##测试
$ python prog.py 2
Alternativamente opciones de valor = []
Si desea definir un rango de valores
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2],
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
print("the square of {} equals {}".format(args.square, answer))
elif args.verbosity == 1:
print("{}^2 == {}".format(args.square, answer))
else:
print(answer)
Personalizada ayuda ayuda
parser.add_argument ( "cuadrado", tipo = int, ayuda = "Mostrar un cuadrado de un número dado")
打印输出
positional arguments:
square display a square of a given number
documento ayudará a toda la definiciones de procesos
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")
parser.add_argument("x", type=int, help="the base")
parser.add_argument("y", type=int, help="the exponent")
args = parser.parse_args()
answer = args.x**args.y
if args.quiet:
print answer
elif args.verbose:
print "{} to the power {} equals {}".format(args.x, args.y, answer)
else:
print "{}^{} == {}".format(args.x, args.y, answer)
#执行
python prog.py -h
usage: prog.py [-h] [-v | -q] x y
calculate X to the power of Y
positional arguments:
x the base
y the exponent
optional arguments:
-h, --help show this help message and exit
-v, --verbose
-q, --quiet
argumentos mutuamente excluyentes
group = parser.add_mutually_exclusive_group()
group.add_argument("-v", "--verbose", action="store_true")
group.add_argument("-q", "--quiet", action="store_true")
# -v 和-q
El parámetro por defecto
#!/usr/bin/env python
# encoding: utf-8
import argparse
parser = argparse.ArgumentParser(description="calculate X to the power of Y")
parser.add_argument("square", type=int,
help="display a square of a given number")
parser.add_argument("-v", "--verbosity", type=int, choices=[0, 1, 2], default=1,
help="increase output verbosity")
args = parser.parse_args()
answer = args.square**2
if args.verbosity == 2:
print "the square of {} equals {}".format(args.square, answer)
elif args.verbosity == 1:
print "{}^2 == {}".format(args.square, answer)
else:
print(answer)