parser parse ejemplo argument python arguments getopt

parse - getopt python ejemplo



¿Cómo usar getopt/OPTARG en Python? ¿Cómo cambiar los argumentos si se dan demasiados argumentos(9)? (3)

¿Cómo usar getopt / optarg en Python?


¿Has intentado leer los documentos de Python para el módulo getopt ( http://docs.python.org/library/getopt.html?highlight=getopt#module-getopt )? Proporciona un ejemplo simple de cómo se usa el getopt . ¿Qué quiere decir con argumentos de cambio? Si desea verificar que el usuario no usa más de 9 argumentos, puede verificar la longitud de la lista sys.argv , que contiene todas las opciones / argumentos pasados ​​al script. El primer elemento es el nombre del script que se invoca, por lo que la longitud es siempre al menos 1. Podrías hacer algo como:

if len(sys.argv) > 10 print(''Too many arguments.'')


Este es un ejemplo de cómo lo hago, normalmente uso la misma plantilla básica:

import sys import getopt try: opts, args = getopt.getopt(sys.argv[1:], ''m:p:h'', [''miner='', ''params='', ''help'']) except getopt.GetoptError: usage() sys.exit(2) for opt, arg in opts: if opt in (''-h'', ''--help''): usage() sys.exit(2) elif opt in (''-m'', ''--miner''): miner_name = arg elif opt in (''-p'', ''--params''): params = arg else: usage() sys.exit(2)

No creo que haya ningún límite de 9 parámetros.


Una búsqueda en google hubiera ayudado. Eche un vistazo a los módulos getopt y argparse en la biblioteca estándar:

import argparse parser = argparse.ArgumentParser(description=''Process some integers.'') 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)'') args = parser.parse_args() print args.accumulate(args.integers)

Luego ejecútalo como se espera:

$ prog.py -h usage: prog.py [-h] [--sum] N [N ...] Process some integers. positional arguments: N an integer for the accumulator optional arguments: -h, --help show this help message and exit --sum sum the integers (default: find the max)

Cuando se ejecuta con los argumentos apropiados, imprime la suma o el máximo de los enteros de la línea de comando:

$ prog.py 1 2 3 4 4 $ prog.py 1 2 3 4 --sum 10

Esto es directamente de la biblioteca estándar.