6

Estoy usando optparse.OptionParser para administrar argumentos para algunos scripts, y algo que me preguntaba/me gustaría hacer es tener indicadores booleanos (es decir, action=store_true) que también puedan aceptar un parámetro .Analizador de opciones de Python: indicador booleano con parámetros opcionales

Para poner esto en contexto, tengo una aplicación que puede usar tantos GPU/procesadores como encuentre en la máquina. Por una variedad de razones a veces se desea limitar el número de dispositivos que utiliza, y en lugar de más saturan la línea de comandos, me gustaría ser capaz de:

script -c -g 

que significa el uso todo lo que pueda de todas las CPU y gpus, y

script -c 2 -g 3 

lo que significa que limitan la ejecución del script a 2 CPU y 3 GPU.

Después de leer la documentación de optparse, no soy más sabio. Oh grandes SO Gurus! ¡Dame tu sabiduría!

Respuesta

1

Puede usar la acción callback para implementar esto con bastante facilidad. En particular, example 6 in the documentation de la acción de devolución de llamada de OptionParser analiza una cantidad variable de argumentos. He aquí una cita reveladora de este ejemplo:

Las cosas se ponen peludas cuando se desea una opción a tomar un número variable de argumentos . Para este caso, debe escribir una devolución de llamada, ya que optparse no proporciona ninguna capacidad incorporada para .

+0

Gracias Eli, pero vio que estaba esperando algo más limpio para el caso de la esquina 'Estoy bien booleano o un argumento' – Bolster

+0

@ Andrew: Yo lo veo más bien como "0 o 1 argumentos" –

+0

Lo más cerca a una respuesta tan práctica. Gracias @Eli – Bolster

Cuestiones relacionadas