logo

Analyzujte súbor YAML v Pythone

YAML je skratka pre Yet Another Markup Language alebo YAML nie je značkovací jazyk, čo je dátový formát používaný na výmenu údajov. YAML môže ukladať iba údaje a žiadne príkazy. Je podobný dátovým formátom XML a JSON. V tomto článku sa spolu s príkladom ponoríme hlboko do konceptu analýzy súborov YAML v Pythone.

Analýza súborov YAML v Pythone

PyYAML Modul v programovaní v Pythone sa považuje za analyzátor pre Python. Pomocou tejto knižnice môžeme vykonávať rôzne operácie so súbormi YAML, ako je čítanie alebo zápis súborov YAML. Serializáciu a zachovanie údajov YAML je možné vykonať aj pomocou tohto modulu PyYAML v jazyku Python.

Aby sme mohli používať modul PyYAML, musíme ho nainštalovať Python vykonaním nižšie uvedeného príkazu:



pip install pyyaml>

Súbory YAML sa ukladajú pomocou 2 rôznych rozšírení, tj. .yaml a .yml . Keďže potrebujeme analyzovať súbor YAML, vytvorili sme dva súbory YAML, ktoré pozostávajú z údajov v Kľúč: Hodnota pár. Ako príklad pre náš článok použijeme nasledujúce súbory YAML.

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>

Teraz sa pozrime na niekoľko metód, pomocou ktorých môžeme analyzovať súbor YAML v Pythone.

Použitie funkcie load().

Funkcia yaml.load() v module YAML sa používa na čítanie údajov alebo objektu YAML do Slovník Pythonu . Môžu existovať údaje YAML, ktoré pozostávajú z obrovského počtu párov kľúč-hodnota (konfiguračné súbory), takže na čítanie týchto súborov môže byť užitočná funkcia load(), pretože vykonáva deserializáciu údajov YAML do Pythonu. The Nakladač parameter funkcie load() je nastavený na SafeLoader , ktorá má v úmysle bezpečne načítať údaje YAML. To je užitočné v scenároch, kde sa vstup preberá z nedôveryhodných zdrojov.

Python3




oops v jave
import> yaml> with>open>(>'geeksforgeeks.yml'>,>'r'>) as f:> >data>=> yaml.load(f, Loader>=>yaml.SafeLoader)> > # Print the values as a dictionary> print>(data)>

>

>

Výkon:

{'UserName': 'techcodeview.com', 'Password': 'GFG@123', 'Phone': 1234567890,  'Website': 'techcodeview.com>

Pomocou funkcie full_load().

Funkcia yaml.full_load() sa používa na analýzu obsahu súboru YAML vo forme párov kľúč – hodnota. Potom pomocou Pythonu dostať () môžeme získať konkrétne údaje zo súboru 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)>

>

>

Výkon:

{'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'}>

Použitie funkcie safe_load().

Ďalším spôsobom načítania súboru YAML v Pythone je použitie metódy safe_load(). Môže sa použiť namiesto parametra SafeLoader metódy load(), keď sa údaje načítavajú z nedôveryhodného zdroja.

Python3




import> yaml> with>open>(>'geeksforgeeks.yml'>) as f:> >dict> => yaml.safe_load(f)> >print>(>dict>)>

>

>

Výkon:

{'UserName': 'techcodeview.com', 'Password': 'GFG@123 *', 'phone': 987909890,  'website': 'techcodeview.com 'Skills': '-Python -SQL -Django -Rest Framework -JavaScript'}>

Použitie funkcie load_all().

Metóda load_all() sa používa, keď chceme načítať dokument YAML prítomný v jednom súbore. The Nakladač parameter funkcie load() je nastavený na SafeLoader , ktorá má v úmysle bezpečne načítať údaje YAML. To je užitočné v scenároch, kde sa vstup preberá z nedôveryhodných zdrojov.

Python3




java pgm
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)>

>

>

Výkon:

[{'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'}]>