Comprender las bibliotecas de terceros de Python en un artículo (dos) ----- módulo argparse

1. Introducción a argparse

argsparse es un módulo estándar para el análisis de la línea de comandos de Python. Está integrado en Python y no necesita ser instalado. Esta biblioteca nos permite pasar parámetros al programa y dejar que el programa se ejecute directamente en la línea de comandos. Esta biblioteca es también una de las muchas bibliotecas que deben aprenderse para el aprendizaje profundo, incluida la biblioteca de la barra de progreso tqdm en el artículo anterior y las bibliotecas Numpy y Pandas que se presentan más adelante. No hay muchas tonterías, ¡así que calmemos y aprendamos juntos!

Dos, aprendizaje disperso

  • Primero, necesitamos importar, es muy simple
import argparse
  • Su método de uso también es relativamente fijo, nada más que los siguientes 3 pasos:
    • (1). Crear objeto ArgumentParser ()
    • (2). Llame al método add_argument () para agregar parámetros
    • (3). Utilice el método parse_args () para analizar los parámetros agregados
  • Primero veamos un ejemplo simple para comprender
‘’‘这个例子非常简单:在命令行中输入3个整型数,然后对它们进行求和操作’‘’

import argparse
if __name__ == '__main__':
	# 创建ArgmentParser()对象
    parser = argparse.ArgumentParser(description='add')
    # 添加参数
    parser.add_argument('--first', type = int, default = '1', help = 'first num')
    parser.add_argument('--second', type = int, default = '2',help = 'second num')
    parser.add_argument('--third', type =int, default = '3', help = 'third num')
    # 解析参数
    args = parser.parse_args()
    args_vars = vars(args)
    first = args_vars.get('first')
    second = args_vars.get('second')
    third= args_vars.get('third')
    print(int(first) + int(second) + int(third))
  • correr
    Inserte la descripción de la imagen aquí

Tres, se detalla el método add_argument ()

  • Análisis de métodos
add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
  • parámetro
- name or flags : 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。


- action : 当参数在命令行中出现时使用的动作基本类型。
	- store_const:当从命令出现了这个参数,则保存const中的常量。
    - store_true、store_false:与上面store_const类似,只是保存的是真假值
    
- nargs : 命令行参数应当消耗的数目。


- const : 被一些 action 和 nargs 选择所需求的常数。


- default : 当参数未在命令行中出现并且也不存在于命名空间对象时所产生的值。


- type : 命令行参数应当被转换成的类型。


- choices : 可用的参数的容器。


- required : 此命令行选项是否可省略 (仅选项可用)。


- help : 一个此选项作用的简单描述。


- metavar : 在使用方法消息中使用的参数值示例。


- dest : 被添加到 parse_args() 所返回对象上的属性名。
  • Hay muchos parámetros, aquí solo nos centramos en algunos de uso común.
- name or flags : 一个命名或者一个选项字符串的列表,例如 foo 或 -f, --foo。
- default : 当参数未在命令行中出现并且也不存在于命名空间对象时所产生的值。
	- 所有选项和一些位置参数可能在命令行中被忽略。
- action : 指示如何处理命令行参数
- type : 命令行参数应当被转换成的类型。
	- 默认情况下,解析器会将命令行参数当作简单字符串读入。
- choices : 可用的参数的容器。
	- 某些命令行参数应当从一组受限值中选择。
- help : 一个此选项作用的简单描述。
  • Ejemplo
import argparse
# 创建ArgumentParser对象
parser = argparse.ArgumentParser(description='add')
# 添加参数
parser.add_argument('--patch_size', type=int, default=100, help='patch size (default: 48)')
parser.add_argument('--dataset', default='DRIVE', choices=['DRIVE', 'CHASE', 'STARE', 'HRF'])
# 解析参数
args = parser.parse_args()
# 获得参数中的patch_size、dataset的值
print(args.patch_size,args.dataset)
# 打印出所有的参数
print(args)
print(type(args))
  • Ejecutar y ejecutar resultados
    Inserte la descripción de la imagen aquí
  • Se puede encontrar que lo que se devuelve es un objeto de espacio de nombres, y debemos continuar convirtiéndolo al tipo de diccionario de Python, ¡porque es más fácil de guardar!
import argparse
# 创建ArgumentParser对象
parser = argparse.ArgumentParser(description='add')
# 添加参数
parser.add_argument('--patch_size', type=int, default=100, help='patch size (default: 48)')
parser.add_argument('--dataset', default='DRIVE', choices=['DRIVE', 'CHASE', 'STARE', 'HRF'])
# 解析参数
args = parser.parse_args()
args_vars = vars(args)
print(args_vars,type(args_vars))
  • Ejecutar y ejecutar resultados
    Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/dongjinkun/article/details/114694045
Recomendado
Clasificación