Python:
Робота з TOML
Як:
Перед початком встановіть пакет toml
за допомогою pip install toml
. Давайте розберемо файл TOML:
import toml
# Приклад вмісту TOML у вигляді рядка
toml_string = """
[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z # Дати високої якості
[database]
server = "192.168.1.1"
ports = [ 8001, 8001, 8002 ]
"""
# Розбір рядка TOML
parsed_toml = toml.loads(toml_string)
# Доступ до даних
print(parsed_toml['owner']['name']) # Вивід: Tom Preston-Werner
print(parsed_toml['database']['ports']) # Вивід: [8001, 8001, 8002]
Поглиблений розгляд
TOML було створено Томом Престон-Вернером, одним з засновників GitHub, як більш дружелюбний до користувача формат файлу конфігурації. Він призначений для недвозначного відображення у хеш-таблицю та легкої обробки машинами.
Порівняно з JSON, TOML більш читабельний для конфігураційних файлів і підтримує коментарі. YAML, інша альтернатива, може бути більш компактною, але його залежність від відступів та дрібні проблеми, як от недопустимість використання табуляції, можуть збивати з пантелику.
Що стосується деталей реалізації, значення в TOML є типізованими, що включає рядки, цілі числа, числа з плаваючою комою, булеві значення, дати та час, масиви та таблиці. Все чутливе до регістру. Крім того, TOML підтримує багаторядкові рядки та, починаючи з останньої версії, навіть дозволяє масиви з елементами різних типів.
Python використовує бібліотеку toml
, яка за принципом API схожа на бібліотеки JSON та YAML. Маємо toml.load
та toml.loads
для читання TOML із файлу або рядка відповідно, а також toml.dump
та toml.dumps
для запису.
Дивіться також
- Офіційний GitHub-репозиторій TOML для специфікацій: github.com/toml-lang/toml
- Документація бібліотеки
toml
Python: pypi.org/project/toml/ - Реальні приклади використання TOML: файли конфігурації менеджера пакетів Rust
cargo
або інструменту упаковки Pythonpoetry
.