Python:
Praca z TOML
Jak to zrobić?
Przed rozpoczęciem, zainstaluj pakiet toml
za pomocą polecenia pip install toml
. Przeanalizujmy plik TOML:
import toml
# Przykładowa zawartość TOML jako ciąg znaków
toml_string = """
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z # Daty pierwszej klasy
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
"""
# Parsowanie ciągu TOML
parsed_toml = toml.loads(toml_string)
# Dostęp do danych
print(parsed_toml['owner']['name']) # Wynik: Tom Preston-Werner
print(parsed_toml['database']['ports']) # Wynik: [8001, 8001, 8002]
Wgłębienie się
TOML został stworzony przez Toma Preston-Wernera, jednego z założycieli GitHub, jako bardziej przyjazny format plików konfiguracyjnych. Jest zaprojektowany tak, aby jednoznacznie mapować się na tabelę hasz i być łatwo analizowalny przez maszyny.
W porównaniu do JSON, TOML jest bardziej czytelny dla plików konfiguracyjnych i obsługuje komentarze. YAML, inna alternatywa, może być bardziej zwarty, ale jego zależność od wcięć i subtelne kwestie, takie jak brak wsparcia dla tabulatorów, mogą sprawiać trudności.
Jeśli chodzi o szczegóły implementacji, wartości TOML są typizowane, co obejmuje ciągi znaków, liczby całkowite, liczby zmiennoprzecinkowe, wartości logiczne, daty i czas, tablice oraz tabele. Wszystko jest uwzględniane z uwagą na wielkość liter. Ponadto TOML obsługuje ciągi wieloliniowe i, w najnowszej wersji, nawet pozwala na tablice o heterogenicznych typach.
Python używa biblioteki toml
, która odzwierciedla biblioteki JSON i YAML pod względem API. Masz do dyspozycji toml.load
i toml.loads
do odczytu TOML z pliku lub ciągu znaków, odpowiednio, oraz toml.dump
i toml.dumps
do ich zapisu.
Zobacz również
- Oficjalne repozytorium GitHub TOML ze specyfikacjami: github.com/toml-lang/toml
- Dokumentacja biblioteki
toml
Pythona: pypi.org/project/toml/ - Przykłady użycia TOML w realnym świecie: pliki konfiguracyjne menedżera pakietów Rusta
cargo
lub narzędzia do pakowania Pythonapoetry
.