Python Fire es una biblioteca para crear aplicaciones CLI. Puede generar automáticamente interfaces de línea de comandos desde cualquier objeto en python. No se limita a esto, es una buena herramienta para fines de depuración y desarrollo. Con la ayuda de Fire, puede convertir el código existente en CLI. En este artículo veremos el uso del fuego.
Instalación
En primer lugar, existen diferentes métodos de instalación que puede realizar según su elección.
Instalar usando pip:
pip install fire
Fire funciona en cualquier objeto de Python, incluidos componentes, diccionarios, listas, tuplas, etc.
Función de llamada de fuego
Aquí hay un ejemplo de llamar a fuego en una función para esto, haremos una función y llamaremos a la función en CLI.
Python3
import fire def greeting(name): return "Hello " + name fire.Fire(greeting("World!"))
Producción:
Hello World!
Luego, desde la terminal, puedes ejecutar usando los siguientes comandos:
python main.py
Establecer una función como punto de entrada
Hay otra forma de ejecutar este programa configurando una función en la función Incendio en el momento de la invocación. Al hacerlo, solo necesitamos pasar argumentos en tiempo de ejecución sin decir a qué método llamar.
Python3
import fire def hello(name): return "Hello " + name if __name__ == '__main__': fire.Fire(hello)
Producción:
Hello world
Si ejecuta esto en la terminal usando el siguiente comando, dará el mismo resultado que la función anterior. Llamando Fuego consumido nombre = «Mundo». Usando este método de llamar al fuego, evita escribir el nombre de la función con argumentos.
python main.py world
Ambas formas de llamar darán «Hello World» como salida.
Función de llamada en clases
Aquí hay una clase de ejemplo creada llamada Square y un método «square» se define dentro de ella. Una vez que llamamos a disparar en cualquier clase, podemos acceder a ella como un método en la línea de comando directamente. Veremos cómo llamar a este método usando el siguiente ejemplo,
Python3
import fire class Square(object): def square(self, number): return number*number fire.Fire(Square)
Producción:
4
Hay dos formas de ejecutar esta clase, el primer método es:
python main.py square 2
La segunda forma que dará el mismo resultado deseado es:
python main.py square --number=2
Ambos métodos darán el mismo resultado = 4.
Pasar argumentos al comando
Fire es conveniente ya que permite pasar argumentos desde una línea de comando. En el ejemplo anterior, invocamos el método desde la línea de comando y asignamos argumentos al mismo tiempo.
Uso de comandos jerárquicos
Fire se puede usar para instanciar clases dentro de la clase, creando una vista jerárquica. pongamos un ejemplo,
Python3
import fire class Calculator(object): def __init__(self): self.SQUARE = Square() class Square(object): def square(self, number): return number*number def triplet(self,number): return number*number*number fire.Fire(Calculator)
De esta forma, la clase Calculadora instancia la clase cuadrada y se crea su objeto. Se puede acceder a las funciones miembro de la clase instanciada en tiempo de ejecución como:
Banderas de fuego
Para saber más sobre los comandos de disparo asociados con un objeto o clase en particular, use la bandera de ayuda con el objeto o la clase. Por ejemplo, que se muestra a continuación, estamos consultando sobre el objeto «CUADRADO», y muestra dos comandos asociados con él: «cuadrado» y «triplete». Esto significa que solo puede pasar estos dos comandos con SQUARE con sus parámetros.
¿Por qué fuego?
- El fuego hace que el código sea más legible.
- Fácil de crear interfaces de línea de comandos.
- fire.Fire() ejecuta el contenido completo del programa cuando se invoca al final de un programa.