Python ConfigParser -eksempel

Python ConfigParser -eksempel
ConfigParser er en klasse av Python -programmeringsspråk som implementerer det grunnleggende konfigurasjonsspråket. Strukturen ligner INI -filen i Microsoft Windows. Denne klassen tillater å skrive Python -programmer som kan tilpasses av brukerne. Det er programmering av serversiden. Det er en modul fra Python Standard Library, og den definerer funksjonaliteten for lesing og skriving av konfigurasjonsfilene. Disse filtypene har “.ini ”utvidelser.

ConfigParser -modulen i Python brukes til å fungere med konfigurasjonsfilene. En konfigurasjonsfil inneholder dataene som funksjoner, alternativer, parametere og også applikasjoner. Disse filene er ordnet i form av seksjoner; Hver seksjon kan inneholde informasjonen som navneverdipar for konfigurasjonsdata. Seksjonene i konfigurasjonsfilen identifiseres ved å se på start- og sluttlinjene. Den bruker firkantede parenteser [] for å lagre verdien. Informasjonen mellom disse firkantede parentesene er navnet på seksjonen, og den inneholder ethvert uttrykk, argument bortsett fra selve firkantede braketten.

Alle alternativene er skrevet en etter en på hver linje separat i en seksjon. Teknikken for å skrive alternativet er at "alternativet" er skrevet i starten. En tykktarm brukes, et like tegn også, for å skille verdiene i forskjellige linjer. En prøvekode for konfigurasjonsfilen som har seksjonen "bug_tracker" og de tre alternativene vil bli sett.

  • [bug_tracker]
  • url = http: // localhost: 8080/bugs/
  • Brukernavn = Aqsa
  • Passord = Qwerty

Vanlig bruk av ConfigParser

Den vanligste bruken av ConfigParser er å la brukeren og systemadministratoren/analytikeren redigere filen med en enkel tekstredigerer for å sette miljøet tilbake, og deretter la applikasjonen lese den filen, og deretter analysere den. Konfigurasjonsfiler er med på å oppdatere kildekoden til ethvert program. Dataene som er lagret i filen må skilles slik at utvikleren fokuserer på kodeutviklingen og er sikret at brukeren bare har lov til å berøre filen på tidspunktet for oppdatering av dataene.

ConfigParser -modulen har en klassekonfigurasjon. Det er ansvarlig for å analysere alle konfigurasjonsfilene. Og brukes også til å administrere databasen. Dataene får tilgang til gjennom objektet, vi kan også oppdatere og deretter opprette en ny fil gjennom den forekomsten. Den under-nevnte uttalelsen viser objektopprettelsen av den klassen.

# parser = configParser.ConfigParser ()

Flere metoder er definert i denne klassen. Noen av disse metodene er diskutert her:

Seksjon: Den returnerer alle seksjonsnavnene på konfigurasjon.

Read_dict (): Denne funksjonen leser konfigurasjonen fra ordboken. Nøklene er også til stede inne. Disse nøklene er seksjonsnavnene. Mens verdien inneholder ordbøker med nøklene og verdiene som må være til stede i seksjonen.

Varer (): Denne funksjonen er kjent for å returnere den resulterende verdien i form av tuples med navn pluss verdi, for alle alternativene i seksjonen.

Getboolean (): Den fungerer som get () -funksjonen for å hente posten. Men innholdet returneres ikke som en utgang. Det returnerer verdien i form av boolean. Som om det returnerer enten falsk eller sant.

Fjern_seksjon (): Denne funksjonen fjerner fildelen og alle alternativene relatert til seksjonen. Denne funksjonen er motsatt av funksjonen 'remove_option', da den fjerner alternativene fra delen av en fil.

Bruk konfigurasjonsfilene for implementering.

Eksempel 1

Vi oppretter en eksempler på konfigurasjonsfilen som vil se ut som.

#En kommentar som kan inneholde hva som helst
[Database_config]
url = https: // localhost: 33606/mysql/
Brukernavn = rot
; Vurder å hylle dette passordet i stedet for
; Holder det som vanlig tekst her
passord = my_password

Vi vil navngi denne filen som "Database. Konfigurasjon ”og så vil vi plassere og lagre denne filen i samme katalog der vi vil legge til flere konfigurasjonsfiler.

Nå vil vi bruke et Python -verktøy som er 'Spyder' for å utføre koden. Vi importerer biblioteket til ConfigParser og modulen for å samle og utføre koden. Her vil vi bruke en lesefunksjon for ConfigParser for å lese den lagrede filen.

# Parser.Les ('Database.konfigurasjon ')

Etter å ha brukt denne funksjonen, vil vi skrive ut nettadressen til den respektive datafilen.

Fra ConfigParser Import ConfigParser
parser = configParser ()
analyser.Les ('Database.konfigurasjon ')
trykk (parser.Get ('Database_Config', 'URL'))

Åpne Linux-terminalen og kjør deretter den nedenfor-nevnte kommandoen.

$ Python ConfigParser.py

Den resulterende SNAP viser nettadressen til den spesifiserte filen som er lagret.

Eksempel 2

Dette eksemplet brukes til å sjekke eksistensen av den spesifikke koden vi trenger å bruke som eksempel. Når nøkkelverdiene er sendt og konfigurasjonsprosessen startes, er det ikke mulig å avslutte den umiddelbart i tilfelle av Python. Hvis koden ikke er til stede, oppstår en feil og stopper konfigurasjonen av hele prosessen.

Fra ConfigParser Import ConfigParser
config_parser = configParser ()
files_to_find = ['database.konfigurasjon ',' gjør ikke-eksisterende.Inn jeg']
found_files = config_parser.Les (files_to_find)
Misting_Files = Set (Files_To_Find) - SET (Found_Files)
print ('funnet konfigurasjonsfiler:', sortert (found_files))
print ('Manglende filer:', sortert (mangler_files))

Så før du bruker nøkkelverdiene, er det en bedre tilnærming å sjekke konfigurasjonsfilen, enten den er til stede på sin plass eller ikke. Ved å bruke dette kan vi unngå forekomst av feil. Eller hvis vi møter noen feil, kan en mye bedre feilmekanisme genereres i applikasjonen, og deretter blir brukeren også varslet om den manglende filen.

En Globe -funksjon importeres også her. Vi vil vise de to filene. Den ene er funnet og den andre mangler. Etter å ha søkt etter den spesifikke filen, finner vi den savnede. Det gjøres ved å trekke fra den grunnlagte filen fra alle filene, den vil deretter nevne de tapte filene.

# mangler_files = set (files_to_find) - set (found_files/tilgjengelige filer)

Vi vil se utgangen fra pyton.

Den oppnådde utgangen viser filen vi har opprettet tidligere. Mens den manglende delen viser filen som ikke er til stede.

Eksempel 3

Dette eksemplet omhandler iterating over alle de tilstedeværende verdiene. Iterasjonen involverer alle verdiene og seksjonene som er til stede i konfigurasjonsfilene for å finne den spesifikke verdien eller for å utføre noen annen operasjon i henhold til kravet.

Fra ConfigParser Import ConfigParser
config_parser = configParser ()
config_parser.Les ('Database.konfigurasjon ')
for seksjonsnavn i config_parser.seksjoner ():
trykk ('Seksjon:', seksjonsnavn)
trykk ('Alternativer:', Config_Parser.Alternativer (seksjonsnavn))
for nøkkel, verdi i config_parser.elementer (seksjonsnavn):
print (' = '.Format (tast, verdi))
skrive ut()

Først blir filen lest av ConfigParser, og deretter har vi brukt en for loop for å skrive ut seksjonene og alternativene på separate linjer. Og igjen en for loop brukes til å skrive ut nøkkelverdiene ved å bruke 'elementet ()'

# for nøkkel, verdi i config_parser.elementer (seksjonsnavn):

La oss nå undersøke utdataene fra koden.

Dette vil vise all mulig informasjon om filen inkludert URL, brukernavn, passord, som et resultat av for sløyfe av elementer. Mens den første sløyfen vil vise seksjonsverdien.

Eksempel 4

I forrige del har vi sjekket om filen er til stede eller ikke. Men nå vil vi sjekke om seksjonen er til stede eller ikke. Det er bedre å sjekke seksjonen før utførelsen ved å oppgi bare seksjonstasten. Vi vil bruke dette på neste kodebit.

Fra ConfigParser Import ConfigParser
config_parser = configParser ()
config_parser.Les ('Database.ConfigDatabase.konfigurasjon ')
For nøkkel i ['url', 'cluster-address', 'database_config']:
skrive ut(':<12: '.format(key, config_parser.has_section(key)))

For nøkkelen vil vi bruke URL, klyngeadresse og konfigurasjonsfilen til databasen. Utgangen vil være som under.

Du kan se at alle verdiene er falske. Det betyr at seksjonen ikke var til stede. Hvis vi ikke sjekket tilgjengeligheten av seksjonen, vil det være mulighet for feil å ha skjedd.

Konklusjon

'Python ConfigParser Eksempel' er en artikkel som omfatter ConfigParser Purpose og bruken av denne klassen. Et objekt er veldig nødvendig for dette formålet. Noen viktige alternativer blir også diskutert. Filoppretting og utførelse gjennom denne klassen forklares også som vil hjelpe deg for fremtidig perspektiv.