YAML es la abreviatura de Yet Another Markup Language o YAML no es un lenguaje de marcado, que es el formato de datos utilizado para intercambiar datos. YAML solo puede almacenar datos y ningún comando. Es similar a los formatos de datos XML y JSON. En este artículo, profundizaremos en el concepto de analizar archivos YAML en Python junto con el ejemplo.
Analizando archivos YAML en Python
PyYAML El módulo de programación Python se considera el analizador de Python. Usando esta biblioteca, podemos realizar diferentes operaciones en los archivos YAML, como leer o escribir archivos YAML. La serialización y la persistencia de datos YAML también se pueden realizar utilizando este módulo PyYAML en Python.
Para utilizar el módulo PyYAML, debemos instalarlo en Pitón ejecutando el siguiente comando:
pip install pyyaml>
Los archivos YAML se guardan usando 2 extensiones diferentes, es decir, .yaml y .yml . Como necesitamos analizar el archivo YAML, hemos creado dos archivos YAML que constan de datos en el Valor clave par. Tomaremos los siguientes archivos YAML como ejemplo para nuestro artículo.
geeksforgeek.yml
UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills: -Python -SQL -Django -Javascript>
multi_docs.yml
--- UserName: techcodeview.com Password: GFG@123 Phone: 1234567890 Website: techcodeview.com Skills: -Python -SQL -Django -Javascript ... --- UserName: Google Password: google@123 Phone: 1234567890 Website: google.com Skills: -Python -SQL -Django -Javascript ... --- UserName: Yahoo Password: yahoo@123 Phone: 1234567890 Website: yahoo.com Skills: -Python -SQL -Django -Javascript>
Ahora veamos algunos métodos con los que podemos analizar un archivo YAML en Python.
Usando la función load()
La función yaml.load() en el módulo YAML se utiliza para leer los datos u objetos YAML en un Diccionario de Python . Puede haber datos YAML que constan de una gran cantidad de pares clave-valor (archivos de configuración), por lo que para leer estos archivos, la función load() puede ser útil ya que realiza la deserialización de datos YAML en Python. El Cargador El parámetro de la función load() está establecido en Cargador seguro , que pretende cargar los datos de YAML de forma segura. Esto resulta útil en escenarios en los que las entradas se obtienen de fuentes que no son de confianza.
Python3
lista de clasificación de java
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)> |
>
>
Producción:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890, 'Website': 'techcodeview.com> Usando la función full_load()
La función yaml.full_load() se utiliza para analizar el contenido del archivo YAML en forma de pares clave-valor. Luego usando Python conseguir() método, podemos obtener datos específicos del archivo YAML.
Python3
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.full_load(f)> > # Print the values as a dictionary> output>=> {> >'UserName'>: data.get(>'UserName'>),> >'Password'>: data.get(>'Password'>),> >'phone'>: data.get(>'Phone'>),> >'Skills'>:>' '>.join(data.get(>'Skills'>, []))> }> print>(output)> |
>
>
Producción:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'phone': 1234567890, 'Skills': '- P y t h o n - S Q L - D j a n g o - J a v a s c r i p t'}> Usando la función safe_load()
Otra forma de cargar el archivo YAML en Python es mediante el método safe_load(). Se puede utilizar en lugar del parámetro SafeLoader del método load(), cuando los datos se cargan desde una fuente que no es de confianza.
Python3
import> yaml> with>open>(>'geeksforgeeks.yml'>) as f:> >dict> => yaml.safe_load(f)> >print>(>dict>)> |
>
>
Producción:
{'UserName': 'techcodeview.com', 'Password': 'GFG@123 *', 'phone': 987909890, 'website': 'techcodeview.com 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}> Usando la función load_all()
El método load_all() se utiliza cuando queremos cargar un documento YAML presente en un solo archivo. El Cargador El parámetro de la función load() está establecido en Cargador seguro , que pretende cargar los datos de YAML de forma segura. Esto resulta útil en escenarios en los que las entradas se obtienen de fuentes que no son de confianza.
cadena un int
Python3
import> yaml> from> yaml.loader>import> SafeLoader> # open yaml file in read> with>open>(>'multiple_documents.yml'>,>'r'>) as f:> >yaml_data>=> list>(yaml.load_all(f, Loader>=>SafeLoader))> >print>(yaml_data)> |
>
>
Producción:
[{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890, 'Website': 'techcodeview.com {'UserName': 'Google', 'Password': 'google@123', 'Phone': 1234567890, 'Website': 'google.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'}, {'UserName': 'Yahoo', 'Password': 'yahoo@123', 'Phone': 1234567890, 'Website': 'yahoo.com', 'Skills': '-Python -SQL -Django -Resst Framework -Javascript'}]>