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 endict
eller enlist
, annars uppstår ettValueError
.Ett
TOMLDecodeError
kommer att uppstå på ett ogiltigt TOML-dokument.
- tomllib.loads(s, /, *, parse_float=float)¶
Laddar TOML från ett
str
-objekt. Returnerar endict
. Konvertera TOML-typer till Python med hjälp av denna konverteringstabell. Argumentet parse_float har samma betydelse som iload()
.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
ochcolno
.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 |
local date-time |
datetime.datetime (attributet |
lokalt datum |
datetime.date |
lokal tid |
datetime.tid |
array |
lista |
tabell |
dict |
inline-tabell |
dict |
array av tabeller |
lista över dicts |