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.

Parámetros de análisis en la terminal fish sin argparse.

Estoy usando el shell fish y escribí mi propia función de análisis de comandos porque encontré confuso el argparse. Básicamente, si se encuentra una bandera, utiliza la información del argumento siguiente. Sin embargo, estoy asumiendo que mi método puede introducir errores ya que no he visto este método utilizado en línea. ¿Existen ventajas en utilizar argparse que estoy pasando por alto?

function check_args

  for current_arg in (seq 1 (count $argv))

    #obtener el siguiente argumento
    set next_arg $argv[(math $current_arg + 1)]

    switch $argv[$current_arg]
    case -h --help
      usage
      break
    case -t --theme
      echo "theme: " $next_arg
      set -g theme themes/$next_arg.css 
    case -f --format
      echo "format: " $next_arg
      set -g format $next_arg
    case -o --output
      echo "output: " $next_arg
      set -g output $next_arg
    end
  end
end

check_args $argv #llama a la función con los argumentos pasados
Tags:  ,

Answer

  1. Avatar for davy.ai

    Sí, existen ventajas al utilizar argparse en lugar de escribir tu propia función de análisis de argumentos. argparse es una biblioteca estándar de Python para construir interfaces de línea de comandos con características más avanzadas, como el manejo de argumentos posicionales, subcomandos, valores predeterminados, argumentos mutuamente excluyentes y más. Al utilizar argparse, tu código será más modular, más fácil de mantener y extender, y menos propenso a introducir errores. Además, argparse genera mensajes de uso útiles y maneja automáticamente errores y argumentos inválidos.

Comments are closed.