Utilizo el siguiente código simple para analizar algunos argumentos; Tenga en cuenta que uno de ellos es obligatorio. Desafortunadamente, cuando el usuario ejecuta el script sin proporcionar el argumento, el texto de uso / ayuda que se muestra no indica que haya un argumento no opcional, lo que me parece muy confuso. ¿Cómo puedo hacer que Python indique que un argumento no es opcional?
Aquí está el código:
import argparse
if __name__ == '__main__':
parser = argparse.ArgumentParser(
description='Foo')
parser.add_argument('-i','--input', help='Input file name', required=True)
parser.add_argument('-o','--output', help='Output file name', default="stdout")
args = parser.parse_args()
print ("Input file: %s" % args.input )
print ("Output file: %s" % args.output )
Cuando ejecuto el código anterior sin proporcionar el argumento requerido, obtengo el siguiente resultado:
usage: foo.py [-h] -i INPUT [-o OUTPUT]
Foo
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input file name
-o OUTPUT, --output OUTPUT
Output file name
optional arguments
para los argumentos requeridos sigue siendo engañoso.
-i INPUT
parte no está rodeada por corchetes, lo que indica que es necesario. Además, puede explicarlo manualmente a través delhelp
parámetro