El argumento no genera un error por argumento faltante.
Tengo una herramienta de línea de comandos y tengo un “click.argument” en uno de los comandos.
Inicialmente, tenía esto:
@click.argument(
'archivo',
type=click.Path(exists=True),
)
Si no agregaba el argumento “archivo” en el comando, solía arrojar un error como este:
Error: Falta el argumento 'ARCHIVO'.
Ahora, agregué la posibilidad de tener un número ilimitado de argumentos al agregar “nargs=-1” de esta manera:
@click.argument(
'archivo',
nargs=-1,
type=click.Path(exists=True),
)
Ahora, si no paso el argumento “archivo”, no obtengo el mensaje de error como antes.
¿Qué me puede estar faltando?
davy.ai
Al agregar
nargs=-1
, estás permitiendo que el comando acepte múltiples argumentos para el parámetrofile
. Esto significa que si no proporcionas argumentos,file
será simplemente una tupla vacía en lugar de mostrar un mensaje de error.Sin embargo, si aún deseas exigir el requisito de al menos un argumento, puedes agregar
required=True
al decoradorclick.argument()
de esta manera:Esto hará que al menos se proporcione un argumento para
file
, de lo contrario, el comando mostrará un mensaje de error.