tomllib
— Analisa arquivos TOML¶
Adicionado na versão 3.11.
Código-fonte: Lib/tomllib
Este módulo fornece uma interface para analisar TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io). Este módulo não oferece suporte para escrever TOML.
Ver também
O pacote Tomli-W é um editor de TOML que pode ser usado em conjunto com este módulo, fornecendo uma API de escrita familiar aos usuários da biblioteca padrão: módulos marshal
e pickle
.
Ver também
O pacote TOML Kit é uma biblioteca TOML de preservação de estilo com capacidade de leitura e escrita. É uma substituição recomendada para este módulo para edição de arquivos TOML já existentes.
Este módulo define as seguintes funções:
- tomllib.load(fp, /, *, parse_float=float)¶
Lê um arquivo TOML. O primeiro argumento deve ser um objeto arquivo binário e legível. Retorna um
dict
. Converte tipos TOML para Python usando esta tabela de conversão.parse_float será chamado com a string de cada ponto flutuante (float) do TOML a ser decodificado. Por padrão, isso é equivalente a
float(num_str)
. Isso pode ser usado para usar outro tipo de dados ou analisador sintático para pontos flutuantes do TOML (por exemplo,decimal.Decimal
). O chamável não deve retornar umdict
ou umlist
, senão uma exceçãoValueError
é levantada.Uma exceção
TOMLDecodeError
será levantada no caso de um documento TOML inválido.
- tomllib.loads(s, /, *, parse_float=float)¶
Carrega TOML de um objeto
str
. Retorna umdict
. Converte tipos TOML para Python usando esta tabela de conversão. O argumento parse_float tem o mesmo significado que emload()
.Uma exceção
TOMLDecodeError
será levantada no caso de um documento TOML inválido.
As seguintes exceções estão disponíveis:
- exception tomllib.TOMLDecodeError(msg, doc, pos)¶
Subclass of
ValueError
with the following additional attributes:- msg¶
The unformatted error message.
- doc¶
The TOML document being parsed.
- pos¶
The index of doc where parsing failed.
- lineno¶
The line corresponding to pos.
- colno¶
The column corresponding to pos.
Alterado na versão 3.14: Added the msg, doc and pos parameters. Added the
msg
,doc
,pos
,lineno
andcolno
attributes.Obsoleto desde a versão 3.14: Passing free-form positional arguments is deprecated.
Exemplos¶
Analisando um arquivo TOML:
import tomllib
with open("pyproject.toml", "rb") as f:
data = tomllib.load(f)
Analisando uma string TOML:
import tomllib
toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""
data = tomllib.loads(toml_str)
Tabela de conversão¶
TOML |
Python |
---|---|
documento TOML |
dict |
string |
str |
inteiro |
int |
ponto flutuante |
ponto flutuante (configurável com parse_float) |
booleano |
bool |
deslocamento de data-hora |
datetime.datetime (atributo de |
data-hora local |
datetime.datetime (atributo de |
data local |
datetime.date |
hora local |
datetime.time |
array |
lista |
tabela |
dict |
tabela inline |
dict |
array de tabelas |
lista de dicionários |