Przykład pliku konfiguracji TOML
Specyfikacja dla TOML obejmuje użycie wrażliwych na przypadki par kluczów kluczowych. Klucze są po lewej stronie, a wartości po prawej stronie; te terminy są oddzielone po obu stronach znakiem równości. Pary wartości kluczowej są identyczne z składnią do deklaracji zmiennej, którą zobaczysz w większości języków programowania. Możesz także zdefiniować tabele i pod wpisy (sekcje i podsekcje) w nawiasach kwadratowych, aby utrzymać pary kluczowe w celu ulepszenia logiki i aplikacji w programach. Wartości mogą być z łańcucha, liczb całkowitych, pływaków, boolean, tablicy oraz typy daty i daty. TOML umożliwia użycie składni DOT, aby można było zdefiniować tabelę (sekcję) jako „Tabela.subtelne ”lub klucz jako„ klucz.identyfikator ”też. Rozszerzenie pliku używane dla pliku TOML jest .toml. Poniżej znajduje się skrócony przykład pliku TOML:
name = "PC Game"Dla odniesienia ten sam plik konfiguracyjny jest zapisany w JSON poniżej:
Różnice między formatami plików JSON i INI
TOML jest podobny do formatów JSON i INI na wiele sposobów, z kilkoma różnicami, które mogą określić format pliku, którego będziesz chciał użyć. Format pliku TOML podkreśla ludzką czytelność i wydaje się znacznie czystszy. Pliki INI nie obsługują zagnieżdżonych sekcji i zagnieżdżonych par kluczy. W przeciwieństwie do JSON, Toml zezwala na komentarze (z symbolem #). Długo zagnieżdżone dane w pliku JSON można zapisać w TOML w zaledwie kilku wierszach.
Jednak prawidłowa identyfikacja struktury w długich zagnieżdżonych hierarchiach w TOML może być myląca, podczas gdy w JSON struktura jest znacznie wyraźniejsza, mimo że zagnieżdżone dane mogą wydawać się zawodowe. TOML jest zaprojektowany przede wszystkim do plików konfiguracyjnych, a nie do dużych ustrukturyzowanych zestawów danych, podczas gdy JSON jest odpowiedni dla dowolnej skali danych strukturalnych.
Moduł Python Toml
Standardowe biblioteki Python nie mają obecnie żadnego wsparcia dla analizowania danych TOML, w momencie pisania tego artykułu. Może się to zmienić po wersji 1 TOML.0.0 zostaje wydany. Na razie będziesz musiał użyć modułu Python trzeciej o nazwie Toml. Możesz zainstalować ten moduł w Ubuntu za pomocą jednego z poniższych poleceń:
$ sudo apt instal Python3-TomlParsowanie pliku TOML za pomocą modułu Python Toml
Parsowanie pliku TOML za pomocą modułu Python3-Toml jest dość proste. Możesz albo użyć „toml.Załaduj metodę do analizowania całego pliku lub możesz użyć „TOML.Ładuje ”metodę analizowania dowolnej konkretnej pary sformatowanej do sformatowanej wartości TOML. Zakładając „dane.Plik TOML ”zawiera sformatowane struny TOML wymienione w powyższym przykładzie, poniższy kod parsuje i wydrukuje dane TOML jako słownik Python:
#!/usr/bin/env python3Uruchomienie powyższego kodu wytworzy następujące dane wyjściowe:
„Nazwa”: „PC Game”, „Domyślna”: 'Profilu_name': 'profilu', 'nazwa_taczka': 'Player' ',Teraz, gdy masz obiekt słownika Pythona, możesz zaimplementować dowolną logikę w swoim programie do obsługi danych słownika.
Zrzucanie słownika Pythona jako danych sformatowanych przez TOML
Słownik Python można zrzucić do sformatowanych strun Toml za pomocą „toml.Metoda zrzutów ”lub obiekt można zrzucić do pliku za pomocą„ TOML.Metoda zrzutu ”. Poniższy przykład przekonwertuje obiekt słownika Nito Toml Sformatowane struny:
#!/usr/bin/env python3Uruchomienie powyższego kodu wytworzy następujące dane wyjściowe:
name = "PC Game"Aby przekonwertować obiekt słownika na ciąg sformatowany przez TOML i przechowywać go w pliku, możesz użyć „TOML.Metoda zrzutu (Dictionary_Object, Output_file) ”.
Wniosek
Plik TOML w prostszych warunkach to tylko plik konfiguracyjny INI z lepszą strukturą i składnią, ułatwiając łatwiejsze analizowanie i lepszą czytelność. Format pliku TOML jest często porównywany z formatem plików JSON, ale oprócz jego użycia w plikach konfiguracyjnych, TOML nie ma wiele użyteczności. Z drugiej strony JSON jest znacznie bardziej wszechstronny i może być używany w różnych przypadkach użycia wymagającego dowolnego typu struktury danych.