3.6.6 Lab - Parse Different Data Types With Python
3.6.6 Lab - Parse Different Data Types With Python
Objetivos
Parte 1: Iniciar la Maquina Virtual (Virtual Machine) DEVASC.
Parte 2: Analizar XML en Python.
Parte 3: Analizar JSON en Python.
Parte 4: Analizar YAML en Python.
Aspectos básicos/Situación.
Examinar significa analizar un mensaje, dividiéndolo en sus partes componentes y comprender el propósito
de cada parte en contexto. Cuando los mensajes se transmiten entre equipos, viajan como una secuencia de
caracteres. Esos caracteres son efectivamente una string (cadena). Ese mensaje debe ser analizado en una
estructura de datos semánticamente equivalente que contenga datos de tipos reconocidos (por ejemplo,
integers, floats, strings, and booleans) antes de que los datos puedan ser interpretados y actuados sobre
ellos.
En este laboratorio, usará Python para analizar cada formato de datos a su vez: XML, JSON y YAML.
Analizaremos ejemplos de código y hablaremos sobre cómo funciona cada analizador.
Recursos necesarios
1 Computadora con sistema operativo de su elección
Virtual Box o VMWare
Máquina virtual (Virtual Machine) DEVASC
Instrucciones
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de 6
www.netacad.com
Laboratorio - Analizar diferentes tipos de datos con Python
<candidate/>
</target>
<default-operation>fusionar </default-operation>
<test-option>set </test-option>
<config>
<int8.1
xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
nc:operation="crear»
xmlns=» http://netconfcentral.org/ns/test">9 </int8.1>
</config>
</edit-config>
</rpc>
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de 6
www.netacad.com
Laboratorio - Analizar diferentes tipos de datos con Python
«access_token» :"zdi3mgeyyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzWnmzdewn2itytu
3",
«expires_in» :1209600,
«refresh_token» :"mdeymzq1njc4otaxmjm0nty3odkwmtizndu2nzg5mdeymzq1njc4otEymzq1
njc4",
«refreshtokenexpires_in» :7776000
}
En los scripts de Python, la librería Python json se puede usar para analizar JSON en estructuras de datos
nativas de Python y serializar estructuras de datos como JSON. La librería Python yaml se puede utilizar
para convertir los datos a YAML.
El siguiente programa utiliza ambos módulos para analizar los datos JSON anteriores, extraer e imprimir
valores de datos, y generar una versión YAML del archivo. Utilizar el método json library loads () para
analizar una string en la que se ha leído el archivo. A continuación, utilizar referencias de datos normales de
Python para extraer valores de la estructura de datos de Python resultante. Finalmente, utilizar la función de
yamllibraryl dump() para serializar los datos de Python de nuevo como YAML, al terminal.
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de 6
www.netacad.com
Laboratorio - Analizar diferentes tipos de datos con Python
e. Agregar una declaración de impresión para ourjson para ver que ahora es un diccionario de Python.
print (ourjson)
Paso 2: Ejecutar el script para imprimir los datos JSON y luego modificarlo para imprimir datos
de interés.
a. Guardar y ejecutar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/parsing$ python3 parsejson.py
{'access_token': 'zdi3mgeyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzmzwnmzDewn2itytu3',
'expires_in': 1209600, 'refresh_token':
'mdeymzq1njc4otaxmJm0nty3OdY3kWnty3jmJm0nty3kWnty3kWnty3kWnjmJM0njm_token'
Mtizndu2nzg5mdeymzq1njc4oteymzq1njc4 ',' refreshtokenexpires_in ': 7776000}
devasc @labvm: ~/labs/devnet-src/parsing$
b. Agregar instrucciones de impresión que muestren el valor del token y cuántos segundos hasta que
caduque el token.
print("The access token is: {}".format(ourjson['access_token']))
print("The token expires in {} seconds.".format(ourjson['expires_in']))
c. Guardar y ejecutar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/parsing$ python3 parsejson.py
{'access_token': 'zdi3mgeyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzmzwnmzDewn2itytu3',
'expires_in': 1209600, 'refresh_token':
'mdeymzq1njc4otaxmJm0nty3OdY3kWnty3jmJm0nty3kWnty3kWnty3kWnjmJM0njm_token'
Mtizndu2nzg5mdeymzq1njc4oteymzq1njc4 ',' refreshtokenexpires_in ': 7776000}
1209600
El token de acceso es zdi3mgeyyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzWnmzDewn2itytu3
El token caduca en 1209600 segundos
devasc @labvm: ~/labs/devnet-src/parsing$
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 4 de 6
www.netacad.com
Laboratorio - Analizar diferentes tipos de datos con Python
yamlsafe_load () para analizar la secuencia de archivos y las referencias normales de datos de Python para
extraer valores de la estructura de datos de Python resultante. A continuación, utilice la función json
librarydumps() para serializar los datos de Python de nuevo como JSON.
El ejemplo de YAML para analizar es el mismo archivo YAML que se ha salido en la Parte 3:
---
access_token: zdi3mgeyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzWnmzDewn2itytu3
expires_in: 1209600
refresh_token: mdeymzq1njc4otaxmjm0nty3odkwmtizndu2nzg5mdeymzq1njc4otEymzq1njc4
refreshtokenexpires_in: 7776000
Paso 2: Ejecutar el script para imprimir los datos de YAML y luego modificarlo para imprimir
datos de interés.
a. Guardar y ejecutar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/parsing$ python3 parseyaml.py
{'access_token': 'zdi3mgeyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzmzwnmzDewn2itytu3',
'expires_in': 1209600, 'refresh_token':
'mdeymzq1njc4otaxmJm0nty3OdY3kWnty3jmJm0nty3kWnty3kWnty3kWnjmJM0njm_token'
Mtizndu2nzg5mdeymzq1njc4oteymzq1njc4 ',' refreshtokenexpires_in ': 7776000}
devasc @labvm: ~/labs/devnet-src/parsing$
b. Agregar instrucciones de impresión que muestren el valor del token y cuántos segundos hasta que
caduque el token.
print("The access token is {}".format(ouryaml['access_token']))
print("The token expires in {} seconds.".format(ouryaml['expires_in']))
c. Guardar y ejecutar el script. Debería ver el siguiente resultado:
devasc @labvm: ~/labs/devnet-src/parsing$ python3 parseyaml.py
{'access_token': 'zdi3mgeyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzmzwnmzDewn2itytu3',
'expires_in': 1209600, 'refresh_token':
'mdeymzq1njc4otaxmJm0nty3OdY3kWnty3jmJm0nty3kWnty3kWnty3kWnjmJM0njm_token'
Mtizndu2nzg5mdeymzq1njc4oteymzq1njc4 ',' refreshtokenexpires_in ': 7776000}
El token de acceso es zdi3mgeyyzqtnmflns00ndnhlwflnzatzgvjnje0mgu1ogzWnmzDewn2itytu3
El token caduca en 1209600 segundos.
devasc @labvm: ~/labs/devnet-src/parsing$
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de 6
www.netacad.com
Laboratorio - Analizar diferentes tipos de datos con Python
2020 - 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de 6
www.netacad.com