the parser following example error argumentparser argument arg_parser are add_argument python action argparse

parser - python argparse optional



¿Qué significa metavar y acción en argparse en python? (3)

Lo que nos mostraste es solo el primer ejemplo. Las secciones relevantes de los documentos de Python:

action

metavar

Estoy leyendo a través del módulo argparse . Me quedé atascado como lo que metavar y la acción significa.

>>> parser.add_argument(''integers'', metavar=''N'', type=int, nargs=''+'', ... help=''an integer for the accumulator'') >>> parser.add_argument(''--sum'', dest=''accumulate'', action=''store_const'', ... const=sum, default=max, ... help=''sum the integers (default: find the max)'')

Es posible que haya omitido, pero por lo que leí, no pude encontrar definiciones para metavar y action (action="store_const", etc) . ¿Qué significan realmente?

Gracias por ayudar


metavar se usa en los mensajes de ayuda en un lugar de un argumento esperado. Ver FOO es un metavar predeterminado aquí:

>>> parser = argparse.ArgumentParser() >>> parser.add_argument(''--foo'') >>> parser.add_argument(''bar'') >>> parser.parse_args(''X --foo Y''.split()) Namespace(bar=''X'', foo=''Y'') >>> parser.print_help() usage: [-h] [--foo FOO] bar ...

action define cómo manejar los argumentos de la línea de comandos: almacenarla como una constante, agregarla a una lista, almacenar un valor booleano, etc. Hay varias acciones integradas disponibles, además de que es fácil escribir una personalizada.


Metavar: proporciona un nombre diferente para el argumento opcional en los mensajes de ayuda. Proporcione un valor para el argumento de la palabra clave metavar dentro de add_argument ().

por ejemplo:

>>> parser = argparse.ArgumentParser() >>> parser.add_argument(''--foo'', metavar=''YYY'') >>> parser.add_argument(''bar'', metavar=''XXX'') >>> parser.parse_args(''X --foo Y''.split()) Namespace(bar=''X'', foo=''Y'') >>> parser.print_help() usage: [-h] [--foo YYY] XXX positional arguments: XXX optional arguments: -h, --help show this help message and exit --foo YYY

Referencia: http://www.usatlas.bnl.gov/~caballer/files/argparse/add_argument.html

Acción: los argumentos pueden desencadenar diferentes acciones, especificadas por el argumento de acción para add_argument (). Hay seis acciones integradas que pueden activarse cuando se encuentra un argumento:

(1) Almacenar: guardar el valor, después de convertirlo opcionalmente a un tipo diferente. Esta es la acción predeterminada realizada si no se especifica explícitamente.

(2) store_true / store_false - Guarda el valor booleano apropiado.

(3) store_const: guarda un valor definido como parte de la especificación del argumento, en lugar de un valor que proviene de los argumentos que se analizan. Esto se usa normalmente para implementar indicadores de línea de comando que no son booleanos.

(4) añadir: guarda el valor en una lista. Se guardan múltiples valores si se repite el argumento.

(5) append_const: guarda un valor definido en la especificación del argumento en una lista.

(6) versión: imprime los detalles de la versión sobre el programa y luego sale.

Referencia: http://bioportal.weizmann.ac.il/course/python/PyMOTW/PyMOTW/docs/argparse/index.html