Denne opplæringen skal dekke hvordan du jobber med YAML og et populært skriptspråk, Python. Python er et flott språk som brukes på mange områder, inkludert automatisering (for eksempel Ansible), der YAML -filer finner tung bruk. Derfor er evnen til å jobbe med Yaml og Python en stor fordel.
Forutsetninger
Før vi kommer i gang med hovedopplæringen, må du ha følgende krav oppfylt.
Installere pyyaml
For å jobbe med YAML -filer i Python, skal vi bruke Pyyaml -pakken, en YAML -parser og en emitter for Python Language. Det er svært fleksibelt og kan gjelde for forskjellige oppgaver som konfigurasjonsfiler, dataserialisering og mer.
For å installere Pyyaml på maskinen din, bruk PIP som vist i kommandoen nedenfor:
PIP3 installer PyyamlHvordan lese en YAML -fil i Python
For illustrasjonsformål vil jeg bruke en pubsec.YAML -fil tilgjengelig på DART -programmeringsspråket. Innholdet i YAML -filen er nedenfor:
Navn: NewtifyKreditt: Dart Development Team - https: // dart.Dev/Tools/Pub/PubSpec
Når vi har redigert og lagret filen, kan vi bruke Python til å lese verdiene som er lagret i filen.
Det første trinnet er å importere YAML -pakken som:
>>> Importer yamlDeretter må vi laste inn YAML -filen ved å bruke Safe_load -funksjonen som er tilgjengelig i Pyyaml -pakken.
>>> med åpen (“Pubsec.yaml ”) som f:Det siste trinnet er å sette sammen koden. Den fulle koden er som vist nedenfor:
Importer yamlFra ovennevnte kode starter vi med å importere YAML -pakken. Vi oppretter en hovedfunksjon (ethvert navn fungerer) og angir logikken for å lese YAML -filen.
Når filen er åpen og lest, kaller vi hovedfunksjonen. På dette stadiet blir YAML -filen konvertert til en Python -ordbok.
Hvis vi kjører koden, får vi utdataene:
'navn': 'newtify', 'versjon': '1.2.3 ',' Beskrivelse ':' Har du blitt omgjort til en ny? Vil du være? Denne pakken kan hjelpe. Den har all den nyutstyrte funksjonaliteten du har lett etter.',' Hjemmeside ':' https: // Eksempel-pet-butikk.com/newtify ',' dokumentasjon ':' https: // Eksempel-pet-butikk.com/newtify/docs ',' miljø ': ' sdk ':'> = 2.10.0 <3.0.0', 'dependencies': 'efts': '^2.0.4', 'transmogrify': '^0.4.0', 'dev_dependencies': 'test': '>= 1.15.0 <2.0.0'Dette er ikke veldig lesbart; Du kan bruke en pakke som Pretty Print for å forskjønne ordboken vist ovenfor som:
Importer yamlDette vil dumpe innholdet som:
'avhengigheter': 'efts': '^2.0.4 ',' transmogrify ':'^0.4.0 ',Nå er det mer lesbart enn før.
Hvordan lese verdier fra YAML -filen
For å lese verdier fra YAML -filen ovenfor, er alt vi trenger å gjøre å få tilgang til dataene ved å bruke ordboksnøkkelen.
For å lese verdien av miljønøkkelen bruker vi for eksempel:
>>> print (read_yaml ['miljø'])Det vil gi oss verdien som er lagret i "miljø" -nøkkelen til read_yaml -ordboken. Som vist under:
'sdk': '> = 2.10.0 <3.0.0'Utgangen over er en nestet ordbok; Vi kan få den faktiske verdien ved å gå videre ordboken som:
print (read_yaml ['miljø'] ['sdk'])Dette vil skrive ut den faktiske verdien som:
> = 2.10.0 <3.0.0Konklusjon
Denne opplæringen har vist deg hvordan du kan lese YAML -filer i Python og lese filens spesifikke verdier. Det kommer veldig nyttig når du trenger en spesifikk verdi fra en YAML -fil for å utføre en eller annen operasjon,
Takk for at du leser, og lykkelig koding!