ISI504 Apunte Semana5 2022
ISI504 Apunte Semana5 2022
ISI504 Apunte Semana5 2022
Frameworks de automatización
NOMBRE DE LA ESCUELA
ELABORACIÓN
VALIDACIÓN
EQUIPO DE DESARROLLO
DIDACTIC
AÑO
2022
Tabla de contenidos
Introducción ................................................................................................................................................ 5
3. Biblioteca Fabric................................................................................................................................... 20
Cierre ........................................................................................................................................................... 26
5
1. Programación en Python
6
Una característica a destacar de Python es que su sintaxis es muy parecida al
lenguaje natural. Así, los programas que elaboramos en Python parecen
construidos en pseudocódigo. Por este motivo, es un lenguaje de programación
muy amigable como lo han revisado en sus módulos anteriores. Otra característica
fundamental es que se basa en la identación, ya que la organización del código es
delimitada por tabuladores o espacios, como se muestra en la figura.
Existe una función que nos permite imprimir los datos con los que estamos
trabajando y manipular la salida a nuestra conveniencia. Esta se denomina print.
Esta función recibe como argumento cualquier dato con el que estemos trabajando
y lo imprime en la salida estándar. Su sintaxis es print (x), donde x es el argumento
de la función; puede ser un texto, un número o una variable. En otras palabras, es
una instrucción que nos permite mostrar correctamente el valor de una cadena (u
otros valores/variables) por pantalla.
7
Figura 3. Función Print
Fuente: Fabfile.org
La función Input, nos permitirá obtener texto que se ha escrito mediante el teclado,
en la práctica el programa espera que el usuario escriba una respuesta y presione
Enter, como se muestra en la figura.
8
Figura 5. Función imput
Fuente: Fabfile.org
9
Figura 6. Operadores de asignación en Python
Fuente: Fabfile.org
10
Un operador se puede entender como un símbolo que indica alguna operación a
realizar entre dos o más operando. En los lenguajes de programación se identifican
distintos tipos de operadores, como los operadores aritméticos, operadores
relacionales y operadores lógicos (bit a bit), como se muestran en la imagen.
11
Figura 8. Operadores relacionales
Fuente: Fabfile.org
12
2. Pilares del paradigma de programación orientada a objetos
13
Figura 11. Características de la POO.
Fuente: Fabfile.org
14
En la programación orientada a objeto debemos pensar nuestro código en clases,
objetos, propiedades y métodos. A continuación, revisaremos las características
más importantes relacionadas con la POO.
Herencia, es la capacidad que tiene una clase de heredar los atributos y métodos
de otra, algo que nos permite reutilizar código y hacer programas óptimos.
15
Python, ya que todas las clases son subclases de una superclase común llamada
Object.
La base de la POO son los objetos. Los objetos son un tipo de dato cuya definición
viene dada en una estructura llamada clase.
Ejemplo:
Se presenta una clase llamada “Curso” en la cual se definen dos atributos y dos
métodos
16
• Los métodos que se definieron son: imprime módulo() e imprime_modalidad().
En términos generales, una función es un trozo de código que puede ser utilizado
varias veces en el desarrollo de un programa.
Python: existen funciones propias del lenguaje, como son print(), int(), input(), etc.
Módulos: existen funciones que son propias de las bibliotecas de Python. Por
ejemplo, la función sort, que es de la biblioteca NumPy, o la función delete() de la
misma biblioteca.
Cada vez que tenemos código repetido, podemos tomar este código y
transformarlo en una función. ¿Cuál es la utilidad? El trozo de código que esté
contemplado en la función puede ser reutilizado y, a la vez, el código queda
ordenado. Cuando se habla de funciones, debemos tener presentes dos conceptos
principales:
17
1. Parámetros.
Los parámetros son las variables que recibe la función y con los cuales trabajará.
Por otra parte, el retorno o devolución es el resultado del proceso que realizó la
función.
18
Figura 15. Ejemplo función
Fuente: Felipe Montenegro, 2022
La función par recibe como parámetro la variable “n”. Dentro de la función, evalúa
con una sentencia if si el número entregado a la función, al dividirlo por 2, el
módulo (%) es cero. Si es así, la variable mensaje entregará “Es Par”; de lo contrario,
entregará “No es Par”. Con la palabra reservada Return retornamos el mensaje. En
el código principal solicitamos al usuario que ingrese un número y el valor lo
almacenamos en la variable número_1. Luego, en la línea 14, llamamos a esta
función “Par” y le entregamos la variable número_1.
19
3. Biblioteca Fabric
Fabric es una biblioteca de Python, que permite a través del uso de SSH, la
ejecución y automatización de tareas de administración dentro de los sistemas.
Permitiendo a los administradores un ahorro de tiempo considerable.
https://pypi.org/project/pip/
20
Se guardó como fabfile.py y para ejecutar la función welcome, se debería ejecutar
la siguiente instrucción:
from fabric.operations import run, lo que nos permitiría ejecutar los siguientes
comandos:
21
Ya que esta función nos permite ejecutar comandos de la Shell en un host.
22
Para reiniciar el sistema.
23
Figura 23. Comandos
Fuente: Felipe Montenegro, 2022
Si se fijan importamos la función run, que nos permitirá ejecutar comandos shell
para obtener información del host. Pero antes se debe setear la información del
host a través de su user y su número de IP. Se ejecuta con:
24
Figura 24. Comandos
Fuente: Felipe Montenegro, 2022
Es importante destacar que en este caso les solicitará la pass del usuario root.
25
Desde el punto de vista de la automatización de tareas, podemos decir que Fabric,
es una herramienta que nos permitiría ejecutar tareas de manera remota a través
de un script. Se deja el siguiente ejemplo para que puedan desarrollarlo:
http://nightdeveloper.net/fabric-python-command/
Cierre
26
Referencias bibliográficas
https://docs.fabfile.org/en/stable/
photo/hands-robot-human-touching-global-virtual-network-
connection-future-
interface_5284740.htm#query=automation&from_query=automatizaci
%C3%B3n&position=5&from_view=search
photo/smart-industry-robot-arms-digital-factory-production-
technology_10517888.htm#&position=0&from_view=detail#&position=
0&from_view=detail
27