tomllib — Parsa TOML-filer

Tillagd i version 3.11.

Källkod: Lib/tomllib


Den här modulen tillhandahåller ett gränssnitt för parsning av TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io). Den här modulen stöder inte skrivning av TOML.

Se även

Paketet Tomli-W är en TOML-skrivare som kan användas tillsammans med den här modulen och som tillhandahåller ett skriv-API som är bekant för användare av standardbibliotekets moduler marshal och pickle.

Se även

Paketet TOML Kit är ett stilbevarande TOML-bibliotek med både läs- och skrivfunktion. Det är en rekommenderad ersättning för denna modul för redigering av redan befintliga TOML-filer.

Denna modul definierar följande funktioner:

tomllib.load(fp, /, *, parse_float=float)

Läser en TOML-fil. Det första argumentet bör vara ett läsbart och binärt filobjekt. Returnerar en dict. Konvertera TOML-typer till Python med hjälp av denna konverteringstabell.

parse_float kommer att anropas med strängen för varje TOML-flat som ska avkodas. Som standard är detta likvärdigt med float(num_str). Detta kan användas för att använda en annan datatyp eller parser för TOML-flottor (t.ex. decimal.Decimal). Anropet får inte returnera en dict eller en list, annars uppstår ett ValueError.

Ett TOMLDecodeError kommer att uppstå på ett ogiltigt TOML-dokument.

tomllib.loads(s, /, *, parse_float=float)

Laddar TOML från ett str-objekt. Returnerar en dict. Konvertera TOML-typer till Python med hjälp av denna konverteringstabell. Argumentet parse_float har samma betydelse som i load().

Ett TOMLDecodeError kommer att uppstå på ett ogiltigt TOML-dokument.

Följande undantag är tillgängliga:

exception tomllib.TOMLDecodeError(msg, doc, pos)

Underklass till ValueError med följande ytterligare attribut:

msg

Det oformaterade felmeddelandet.

doc

TOML-dokumentet som analyseras.

pos

Indexet för doc där tolkningen misslyckades.

lineno

Den linje som motsvarar pos.

colno

Den kolumn som motsvarar pos.

Ändrad i version 3.14: Parametrarna msg, doc och pos har lagts till. Lagt till attributen msg, doc, pos, lineno och colno.

Föråldrad sedan version 3.14: Att skicka positionella argument i fri form är föråldrat.

Exempel

Parsning av en TOML-fil:

import tomllib

with open("pyproject.toml", "rb") as f:
    data = tomllib.load(f)

Parsning av en TOML-sträng:

import tomllib

toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""

data = tomllib.loads(toml_str)

Konverteringstabell

TOML

Python

TOML-dokument

dict

sträng

str

heltal

int

flyt

float (konfigurerbar med parse_float)

booleansk

bool

offset date-time

datetime.datetime (attributet tzinfo satt till en instans av datetime.timezone)

local date-time

datetime.datetime (attributet tzinfo satt till None)

lokalt datum

datetime.date

lokal tid

datetime.tid

array

lista

tabell

dict

inline-tabell

dict

array av tabeller

lista över dicts