es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: ARGPARSE

¿Cómo hacer pruebas unitarias para validar argumentos en argparse utilizando assertRaises() en Python?

Cuando intento probar las validaciones de argumentos en argparse utilizando Unittest, lo siguiente funciona: mymodule: def validate_mac_addr(mac_addr): regex = re.compile(r’^((([a-f0-9]{2}:){5})|(([a-f0-9]{2}-){5}))[a-f0-9]{2}$’, re.IGNORECASE) if re.match(regex, mac_addr) is not None: return mac_addr msg = f”[-] Dirección MAC no válida: ‘{mac_addr}'” raise argparse.ArgumentTypeError(msg) test: import mymodule import unittest def test_mac_address_false(self): self.assertRaises(Exception, mymodule.validate_mac_addr, “n0:ma:ca:dd:re:ss:here”) Pero . . . Read more

Grupo mutuamente excluyente con una opción y opcional.

Estoy tratando de lograr un comando que tiene dos “modos” como este: cmd –list o cmd opción –bandera -abc En otras palabras, o el usuario especifica la opción “–list” o el analizador “elige” la ruta predeterminada. La ruta predeterminada debe ser una opción dentro de un conjunto conocido de elementos. . . . Read more

Problema con el símbolo del sistema (Windows) y el script de Python después de reiniciar el script.

Estoy tratando de escribir un programa CLI con Python en Windows. Recientemente me encontré con un problema con argparse y mi solución temporal fue limpiar el símbolo del sistema y volver a ejecutar mi script con los mismos argumentos utilizando este código: sys.stdout.flush os.execl(sys.executable, ‘python’, __file__, *sys.argv[1:]) Esto funciona perfectamente . . . Read more

¿Cómo imprimir el uso y la ayuda de todos los objetos argparser?

Tengo múltiples ArgumentParser() en mi script de Python. Sin embargo, cuando lo ejecuto con -h, la ayuda solo se imprime para el primer argparser cuyos argumentos fueron analizados. Código: %%writefile ./test_argparse.py import argparse ap1 = argparse.ArgumentParser() ap1.add_argument(“-a”, “–abcd”, help=”ayuda a”) var1 = ap1.parse_known_args() ap2 = argparse.ArgumentParser() ap2.add_argument(“-e”, “–efgh”, help=”ayuda e”) . . . Read more