TOML -konfigurasjonsfileksempel
Spesifikasjonen for TOML inkluderer bruk av case-sensitive nøkkelverdipar. Nøkler er på venstre side, mens verdiene vil på høyre side; Disse vilkårene er atskilt på hver side med et lik tegn. Nøkkelverdiparene er identiske med syntaks for variabel erklæring du vil se på de fleste programmeringsspråk. Du kan også definere tabeller og subtabeller (seksjoner og underavsnitt) i firkantede parenteser for å holde nøkkelverdipar organisert for forbedret analyseringslogikk og anvendelse i programmene dine. Verdier kan være av streng, heltall, float, boolean, matrise og tids- og datatyper. Toml tillater bruk av prikksyntaks slik at du kan definere en tabell (seksjon) som “tabell.subtable ”eller en nøkkel som“ nøkkel.identifikator, ”også. Filforlengelsen som brukes til en Toml -fil er .Toml. Nedenfor er et forkortet eksempel på en TOML -fil:
name = "PC Game"For referanse er den samme konfigurasjonsfilen skrevet i JSON nedenfor:
Forskjeller mellom JSON og INI filformater
Toml ligner på JSON og INI -formater på mange måter, med noen få forskjeller som kan bestemme hvilket filformat du vil bruke. Toml -filformatet legger vekt på menneskelig lesbarhet og virker mye renere å lese. INI-filer støtter ikke nestede seksjoner og nestede nøkkelverdipar. I motsetning til JSON, tillater Toml kommentarer (med # symbolet). Lange nestede data i en JSON -fil kan skrives i Toml på bare noen få linjer.
Imidlertid kan det være forvirrende å identifisere struktur i lange nestede hierarkier i Toml, mens strukturen i JSON er mye tydeligere, selv om de nestede dataene kan virke ordentlig. TOML er først og fremst designet for konfigurasjonsfiler og ikke for store strukturerte datasett, mens JSON er egnet for en hvilken som helst skala av strukturerte data.
Python Toml -modulen
Python Standard Libraries har foreløpig ingen støtte for analysering av TOML -data, i skrivende stund denne artikkelen. Dette kan endres etter Toml versjon 1.0.0 er utgitt. Foreløpig må du bruke en tredjeparts python -modul som heter Toml. Du kan installere denne modulen i Ubuntu ved å bruke en av kommandoene nedenfor:
$ sudo apt install python3-tomlAnalysere en Toml -fil ved hjelp av Python Toml -modul
Å analysere en Toml-fil ved hjelp av Python3-Toml-modulen er ganske grei. Du kan enten bruke “toml.Last inn "-metoden for å analysere hele filen, eller du kan bruke“ toml.Laster "metode for å analysere enhver spesifikk Toml-formatert nøkkelverdipar. Forutsatt en "data.Toml ”-filen inneholder Toml -formaterte strenger som er nevnt i eksemplet over, koden nedenfor vil analysere og skrive ut Toml -data som en Python -ordbok:
#!/usr/bin/env python3Å kjøre koden over vil produsere følgende utgang:
'name': 'pc game', 'standard': 'profil_name': 'profil', 'player_name': 'player',Nå som du har et Python Dictionary -objekt, kan du implementere hvilken som helst logikk i programmet ditt for å håndtere ordboksdataene.
Dumping av en Python -ordbok som Toml formaterte data
En Python -ordbok kan dumpes i Toml -formaterte strenger ved hjelp av “Toml.Dumps ”-metode, eller objektet kan dumpes i en fil ved hjelp av“ TOML.Dump ”-metode. Eksemplet nedenfor vil konvertere et ordbokobjekt Nito Toml formaterte strenger:
#!/usr/bin/env python3Å kjøre ovennevnte kode vil produsere følgende utgang:
name = "PC Game"For å konvertere et ordbokobjekt til en Toml -formatert streng og lagre det i en fil, kan du bruke “Toml.Dump (Dictionary_Object, output_file) ”metode.
Konklusjon
En TOML -fil på enklere termer er bare en INI -konfigurasjonsfil med bedre struktur og syntaks, noe som letter enklere analysering og bedre lesbarhet. TOML -filformatet blir ofte sammenlignet med JSON -filformatet, men bortsett fra bruken i konfigurasjonsfiler, har Toml ikke mye verktøy. JSON er derimot mye mer allsidig og kan brukes i forskjellige brukssaker som krever noen datastrukturtype.