Odczyt wartości z pliku YAML

Odczyt wartości z pliku YAML
YAML to popularny język serializacji danych opracowany dla czytelności człowieka i interakcji. YAML to potężne narzędzie, które oferuje wiele funkcji i elastyczności, co czyni go dobrym wyborem podczas pracy z plikami konfiguracyjnymi.

Ten samouczek obejmuje, jak pracować z YAML i popularny język scenariusza, Python. Python to świetny język używany w wielu obszarach, w tym automatyzacja (np. Ansible), w którym pliki YAML znajdują ciężkie użycie. Dlatego zdolność do pracy z Yaml i Python jest wielką zaletą.

Wymagania wstępne

Zanim zaczniemy w głównym samouczku, będziesz musiał spełnić następujące wymagania.

  • Zainstalowany Python3
  • W stanie pracować z plikami YAML
  • Trochę wiedzy na temat programowania Pythona.

Instalowanie Pyyaml

Aby pracować z plikami YAML w Python, użyjemy pakietu Pyyaml, parsera Yaml i emitera dla języka Pythona. Jest wysoce elastyczny i może mieć zastosowanie do różnych zadań, takich jak pliki konfiguracyjne, serializacja danych i więcej.

Aby zainstalować Pyyaml ​​na komputerze, użyj PIP, jak pokazano w poniższym poleceniu:

PIP3 Zainstaluj pyyyaml

Jak odczytać plik YAML w Python

Do celów ilustracyjnych użyję publikacji.plik YAML dostępny w języku programowania DART. Zawartość pliku YAML jest poniżej:

Nazwa: Newtify
wersja 1.2.3
Opis:>-
Czy zostałeś przekształcony w Newt? Czy chiałbyś być?
Ten pakiet może pomóc. Ma wszystko
NEWT-TRANSMOGRIFICACJA Funkcjonalność, którą szukałeś
Do.
Strona główna: https: // przykładowy sklep.com/newTify
Dokumentacja: https: // przykładowy sklep.com/newTify/Docs
środowisko:
sdk: '> = 2.10.0 <3.0.0'
Zależności:
efts: ^2.0.4
transmogrify: ^0.4.0
dev_dependencje:
test: '> = 1.15.0 <2.0.0'

Kredyt: Dart Development Team - https: // dart.dev/tools/pub/pubspec

Po edytowaniu i zapisaniu pliku możemy użyć Pythona do odczytania wartości przechowywanych w pliku.

Pierwszym krokiem jest zaimportowanie pakietu YAML jako:

>>> Importuj YAML

Następnie musimy załadować plik YAML za pomocą funkcji Safe_Load dostępnej w pakiecie Pyyaml.

>>> z Open („Pubsec.yaml ”) jako f:
PUBSEC = YAML.safe_load (f)
powrót PUBSEC

Ostatnim krokiem jest zebranie kodu. Pełny kod jest pokazany poniżej:

Importuj YAML
def main ():
z otwartą („próbka.yml ") jako f:
PUBSEC = YAML.safe_load (f)
powrót PUBSEC
read_yaml = main ()
print (read_yaml)

Z powyższego kodu zaczynamy od zaimportowania pakietu YAML. Następnie tworzymy główną funkcję (dowolna nazwa działa) i ustawiamy logikę do odczytu pliku YAML.

Po otwarciu i odczytaniu pliku wywoływamy funkcję główną. Na tym etapie plik YAML zostaje przekonwertowany na słownik Python.

Jeśli uruchomimy kod, otrzymujemy dane wyjściowe:

„Nazwa”: „newtify”, „wersja”: „1.2.3 ', „Opis”: „Czy zostałeś przekształcony w Newt? Czy chiałbyś być? Ten pakiet może pomóc. Ma wszystkie funkcje NEWT-Transmogrification, których szukałeś.', „Strona główna”:' https: // przykład-pet-sklep.com/newtify ”,„ Documentation ”: 'https: //.com/newTify/Docs ', „środowisko”: ' sdk ':'> = 2.10.0 <3.0.0', 'dependencies': 'efts': '^2.0.4', 'transmogrify': '^0.4.0', 'dev_dependencies': 'test': '>= 1.15.0 <2.0.0'

To nie jest bardzo czytelne; Możesz użyć pakietu takiego jak ładny druk, aby upiększyć słownik pokazany powyżej jako:

Importuj YAML
import pprint
def main ():
z otwartą („próbka.yml ") jako f:
PUBSEC = YAML.safe_load (f)
powrót PUBSEC
read_yaml = main ()
pprint.pprint (read_yaml)

Zrzuci to zawartość jako:

„Zależności”: 'efts': '^2.0.4 ', „transmogrify”:'^0.4.0 ',
„Opis”: „Czy zostałeś przekształcony w Newt? Czy chiałbyś być? Ten '
'Pakiet może pomóc. Ma całą NEWT-Transmogrification '
„Funkcjonalność, której szukałeś.',
„dev_dependency”: 'test': '> = 1.15.0 <2.0.0',
„Dokumentacja”: „https: //.com/newTify/Docs ',
„Środowisko”: 'sdk': '> = 2.10.0 <3.0.0',
„Strona główna”: 'https: //.com/newtify ',
„Nazwa”: „Newtify”,
'wersja 1.2.3 '

Teraz jest to bardziej czytelne niż wcześniej.

Jak odczytać wartości z pliku YAML

Aby odczytać wartości z powyższego pliku YAML, wszystko, co musimy zrobić, to uzyskać dostęp do danych za pomocą klucza słownika.

Na przykład, aby odczytać wartość klucza środowiska, używamy:

>>> print (read_yaml [„środowisko”])

To da nam wartość przechowywaną w kluczu „środowiska” słownika Read_Yaml. Jak pokazano niżej:

„sdk”: '> = 2.10.0 <3.0.0'

Powyższe dane wyjściowe jest zagnieżdżonym słownikiem; Możemy uzyskać rzeczywistą wartość, idąc dalej słownik jako:

print (read_yaml ['środowisko'] ['sdk'])

To wydrukuje faktyczną wartość jako:

> = 2.10.0 <3.0.0

Wniosek

Ten samouczek pokazał, jak odczytać pliki YAML w Python i odczytać wartości określone. To bardzo przydatne, gdy potrzebujesz określonej wartości z pliku YAML, aby wykonać jakąś operację,

Dziękuję za przeczytanie i szczęśliwe kodowanie!