logo

Jäsennä YAML-tiedosto Pythonissa

YAML on lyhenne sanoista Yet Another Markup Language tai YAML ei ole merkintäkieli, joka on tietojen vaihtamiseen käytetty tietomuoto. YAML voi tallentaa vain dataa, ei komentoja. Se on samanlainen kuin XML- ja JSON-tietomuodot. Tässä artikkelissa sukeltamme syvälle YAML-tiedostojen jäsentämiseen Pythonissa esimerkin kanssa.

YAML-tiedostojen jäsentäminen Pythonissa

PyYAML Python-ohjelmoinnin moduulia pidetään Pythonin jäsentimenä. Tämän kirjaston avulla voimme suorittaa erilaisia ​​toimintoja YAML-tiedostoille, kuten lukea tai kirjoittaa YAML-tiedostoja. YAML-tietojen sarjoittaminen ja pysyvät tiedot voidaan tehdä myös tällä PyYAML-moduulilla Pythonissa.

PyYAML-moduulin käyttöä varten meidän on asennettava se sisään Python suorittamalla alla oleva komento:



pip install pyyaml>

YAML-tiedostot tallennetaan kahdella eri laajennuksella, jotka ovat .yaml ja .yml . Koska meidän on jäsennettävä YAML-tiedosto, olemme luoneet kaksi YAML-tiedostoa, jotka koostuvat Avain: Arvo pari. Otamme seuraavat YAML-tiedostot esimerkkinä artikkelistamme.

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>

Katsokaamme nyt muutamia menetelmiä, joilla voimme jäsentää YAML-tiedoston Pythonissa.

Käytä load()-funktiota

YAML-moduulin yaml.load()-funktiota käytetään lukemaan YAML-data tai -objekti Python-sanakirja . Voi olla YAML-dataa, joka koostuu valtavasta määrästä avain-arvopareja (määritystiedostoja), joten näiden tiedostojen lukemisessa load()-funktio voi olla hyödyllinen, koska se suorittaa YAML-tietojen deserialisoinnin Pythoniin. The Loader load()-funktion parametri on asetettu arvoon SafeLoader , joka aikoo ladata YAML:n tiedot turvallisesti. Tämä on hyödyllistä skenaarioissa, joissa syöte on otettu epäluotettavista lähteistä.

Python 3




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

>

>

Lähtö:

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

Full_load()-funktion käyttö

Funktiota yaml.full_load() käytetään YAML-tiedoston sisällön jäsentämiseen avain-arvo-parien muodossa. Käytä sitten Pythonia saada() menetelmällä, voimme saada tiettyjä tietoja YAML-tiedostosta.

Python 3




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

>

>

Lähtö:

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

Safe_load()-funktion käyttö

Toinen tapa ladata YAML-tiedosto Pythonissa on käyttää safe_load()-menetelmää. Sitä voidaan käyttää load()-metodin SafeLoader-parametrin sijasta, kun tiedot ladataan epäluotettavasta lähteestä.

Python 3




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

>

>

Lähtö:

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

Käytä load_all()-funktiota

load_all()-menetelmää käytetään, kun haluamme ladata YAML-asiakirjan, joka on läsnä yhdessä tiedostossa. The Loader load()-funktion parametri on asetettu arvoon SafeLoader , joka aikoo ladata YAML:n tiedot turvallisesti. Tämä on hyödyllistä skenaarioissa, joissa syöte on otettu epäluotettavista lähteistä.

Python 3




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

tring to int

>

>

Lähtö:

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