Przykład Python ConfigParser

Przykład Python ConfigParser
ConfigParser to klasa języka programowania Python, który implementuje podstawowy język konfiguracyjny. Jego struktura przypomina plik INI w Microsoft Windows. Ta klasa umożliwia pisanie programów Python, które mogą być dostosowane przez użytkowników. To programowanie po stronie serwera. Jest to moduł z biblioteki Standard Python i określa funkcjonalność odczytu i pisania plików konfiguracyjnych. Tego rodzaju pliki mają „.INI ”Rozszerzenia.

Moduł ConfigParser w Python służy do pracy z plikami konfiguracyjnymi. Plik konfiguracyjny zawiera dane takie jak funkcje, opcje, parametry, a także aplikacje. Pliki te są ułożone w formie sekcji; Każda sekcja może zawierać informacje jako parę wartości nazwy dla danych konfiguracyjnych. Sekcje pliku konfiguracji są identyfikowane przez linie początkowe i końcowe. Wykorzystuje nawiasy kwadratowe [] do przechowywania wartości. Informacje między tymi kwadratowymi nawiasami to nazwa sekcji i zawiera dowolne wyrażenie, argument oprócz samego kwadratowego wspornika.

Wszystkie opcje są zapisywane jeden po drugim na każdej linii osobno w sekcji. Technika pisania opcji polega na tym, że „opcja” jest pisana na początku. Używana jest jelita grubego, również równy znak, aby oddzielić wartości w różnych liniach. Przykładowy kod pliku konfiguracyjnego posiadającego sekcję „Bug_tracker” i trzy opcje zostaną widoczne.

  • [bug_tracker]
  • url = http: // localHost: 8080/Bugs/
  • Nazwa użytkownika = aqsa
  • hasło = qwerty

Powszechne zastosowania konfiguracji

Najczęstszym zastosowaniem ConfigParser jest umożliwienie użytkownikowi i administratorowi/analitykowi systemu na edytowanie pliku za pomocą prostego edytora tekstu do przywrócenia środowiska, a następnie pozwolenie aplikacji odczytał ten plik, a następnie analizować ją. Pliki konfiguracyjne pomagają zaktualizować kod źródłowy dowolnego programu. Dane przechowywane w pliku muszą zostać oddzielone, aby programista skoncentrował się na tworzeniu kodu i jest pewien, że użytkownik może dotykać pliku tylko w momencie aktualizacji danych.

Moduł ConfigParser ma klasę ConfigParser. Jest odpowiedzialny za analizowanie wszystkich plików konfiguracyjnych. A także używane do zarządzania bazą danych. Dostęp do danych jest dostępny za pośrednictwem obiektu, możemy również aktualizować, a następnie utworzyć nowy plik za pośrednictwem tej instancji. Poniżej wspomniane stwierdzenie pokazuje tworzenie obiektów tej klasy.

# parser = configparser.ConfigParser ()

Kilka metod jest zdefiniowanych w tej klasie. Niektóre z tych metod zostały omówione tutaj:

Sekcja: Zwraca wszystkie nazwy sekcji konfiguracji.

Read_dict (): Ta funkcja odczytuje konfigurację ze słownika. Klucze są również obecne w środku. Te klucze są nazwami sekcji. Podczas gdy część wartości zawiera słowniki z klawiszami i wartościami, które muszą być obecne w sekcji.

Rzeczy(): Ta funkcja zwraca wynikową wartość w postaci krotek o wartości nazwy plus, dla każdej opcji sekcji.

Getboolean (): Funkcjonuje jak funkcja get (), aby pobrać rekord. Ale treść nie jest zwracana jako wyjście. Zwraca wartość w postaci logicznej. Jakby zwrócił fałszywe lub prawdziwe.

Usuń_section (): Ta funkcja usuwa sekcję pliku i wszystkie opcje związane z sekcją. Ta funkcja jest przeciwna do funkcji „remove_option”, ponieważ usuwa opcje z sekcji pliku.

Użyj plików konfiguracyjnych do implementacji.

Przykład 1

Utworzymy przykładowy plik konfiguracyjny, który będzie wyglądał.

#Komentarz, który może zawierać wszystko
[DATABASE_CONFIG]
url = https: // localhost: 33606/mysql/
Nazwa użytkownika = root
; Rozważ wymuszenie tego hasła, a nie
; Zachowując go jako zwykły tekst tutaj
hasło = my_password

Nazwimy ten plik jako „baza danych. Konfiguruj ”, a następnie umieścimy i zapisamy ten plik w tym samym katalogu, w którym dodamy więcej plików konfiguracyjnych.

Teraz użyjemy narzędzia Pythona, które jest „Spyder” do wykonania kodu. Zaimportujemy bibliotekę ConfigParser i moduł do kompilacji i wykonania kodu. Tutaj użyjemy funkcji odczytu dla ConfigParser do odczytania zapisanego pliku.

# Parser.odczyt („baza danych.konfiguracja ')

Po zastosowaniu tej funkcji wydrukujemy adres URL odpowiedniego pliku danych.

od ConfigParser import ConfigParser
parser = configParser ()
Parser.odczyt („baza danych.konfiguracja ')
Drukuj (parser.GET („BADABASE_CONFIG”, „URL”))

Otwórz terminal Linux, a następnie uruchom poniżej wspomniane polecenie.

$ Python ConfigParser.py

Wynikowy snap pokazuje adres URL zapisanego pliku.

Przykład 2

Ten przykład służy do sprawdzenia istnienia określonego kodu, którego musimy użyć jako przykład. Po wysłaniu kluczowych wartości i uruchomieniu procesu konfiguracji nie można go natychmiast zakończyć w przypadku Pythona. Jeśli kod nie jest obecny, występuje błąd i zatrzymuje konfigurację całego procesu.

od ConfigParser import ConfigParser
config_parser = configparser ()
pliki_to_find = ['baza danych.config ', „czy nie istniaj.ini ']
Found_files = config_parser.odczyt (files_to_find)
missing_files = set (files_to_find) - set (Found_files)
print („Znaleziono pliki konfiguracyjne:”, sortowane (Found_files))
print („Brak plików: ', sortowane (missing_files))

Więc przed użyciem kluczowych wartości, lepszym podejściem jest sprawdzenie pliku konfiguracji, niezależnie od tego, czy jest on obecny na jego miejscu, czy nie. Korzystając z tego, możemy uniknąć występowania błędów. Lub jeśli napotkamy jakikolwiek błąd, w aplikacji można wygenerować znacznie lepszy mechanizm błędu, a następnie użytkownik jest również powiadamiany o braku pliku.

Funkcja Globe jest również importowana tutaj. Wyświetlimy dwa pliki. Jeden jest znaleziony, a drugi brakuje. Po przeszukaniu określonego pliku znajdujemy brakujący. Odbywa się to przez odejmowanie założonego pliku od wszystkich plików, następnie wspomina o utraconych plikach.

# missing_files = set (files_to_find) - set (Found_files/Dostępne pliki)

Zobaczymy wyjście z Pythona.

Otrzymane dane wyjściowe pokazuje plik, który utworzyliśmy wcześniej. Podczas gdy brakująca część pokazuje plik, który nie jest obecny.

Przykład 3

Ten przykład dotyczy iteracji wszystkich obecnych wartości. Iteracja obejmuje wszystkie wartości i sekcje obecne w plikach konfiguracyjnych w celu znalezienia określonej wartości lub wykonania dowolnej innej operacji zgodnie z wymogiem.

od ConfigParser import ConfigParser
config_parser = configparser ()
config_parser.odczyt („baza danych.konfiguracja ')
dla nazwy_pisu w config_parser.Sekcje():
drukuj („sekcja:”, nazwa_pisu)
drukuj („Opcje:”, config_parser.opcje (nazwa_pisu)))
Dla klucza wartość w config_parser.elementy (nazwa_pisu):
print (' = '.format (klucz, wartość))
wydrukować()

Najpierw plik jest odczytywany przez ConfigParser, a następnie użyliśmy pętli do wydrukowania sekcji i opcji na osobnych liniach. I ponownie do wydrukowania wartości kluczowych za pomocą „item ()”

# dla klucza wartość w config_parser.elementy (nazwa_pisu):

Teraz zbadajmy wyjście kodu.

To pokaże wszystkie możliwe informacje z pliku, w tym adres URL, nazwa użytkownika, hasło, w wyniku pętli elementów. Podczas gdy pierwsza pętla wyświetli wartość sekcji.

Przykład 4

W poprzedniej części sprawdziliśmy, czy plik jest obecny, czy nie. Ale teraz sprawdzimy, czy sekcja jest obecna, czy nie. Lepiej jest sprawdzić sekcję przed wykonaniem, podając tylko klucz sekcji. Zastosujemy to do następnego fragmentu kodu.

od ConfigParser import ConfigParser
config_parser = configparser ()
config_parser.odczyt („baza danych.configDatabase.konfiguracja ')
dla klucza w [„url”, „klaster-address”, „baza danych_config”]:
wydrukować(':<12: '.format(key, config_parser.has_section(key)))

W przypadku klucza będziemy używać adresu URL, addressa klastra i pliku konfiguracyjnego bazy danych. Wyjście będzie jak poniżej.

Możesz zobaczyć, że wszystkie wartości są fałszywe. Oznacza to, że sekcja nie była obecna. Jeśli nie sprawdzimy dostępności sekcji, pojawią się możliwość wystąpienia błędów.

Wniosek

„Python ConfigParser Przykład” to artykuł zawierający cel konfiguracji i wykorzystanie tej klasy. Obiekt jest bardzo niezbędny do tego celu. Omówiono również niektóre ważne opcje. Wyjaśniono również, że tworzenie i wykonywanie plików za pośrednictwem tej klasy pomoże ci w przyszłości.