Heim > Backend-Entwicklung > Python-Tutorial > Detaillierte Erläuterung der ConfigParser-Konfigurationsdatei von Python

Detaillierte Erläuterung der ConfigParser-Konfigurationsdatei von Python

巴扎黑
Freigeben: 2017-09-04 13:57:12
Original
1738 Leute haben es durchsucht

1. Grundlegende Lesekonfigurationsdatei

-read(filename) liest direkt den Inhalt der INI-Datei

-sections(), um alle Abschnitte abzurufen und aufzulisten. Das Formular gibt

-options(section) zum Abrufen aller Optionen des Abschnitts

-items(section) zum Abrufen aller Schlüssel-Wert-Paare des Abschnitts

-get(section ,option) Holen Sie sich den Wert der Option im Abschnitt und geben Sie ihn als String-Typ zurück

-getint(section, option) Holen Sie sich den Wert der Option im Abschnitt und geben Sie ihn als int-Typ zurück. Es gibt auch entsprechende getboolean(). und getfloat()-Funktionen.

2. Grundlegende Schreibkonfigurationsdatei

-add_section(section) Einen neuen Abschnitt hinzufügen

-set( section, option, value ) Zum Festlegen Um die Option im Abschnitt zu verwenden, müssen Sie write aufrufen, um den Inhalt in die Konfigurationsdatei zu schreiben.

3. Grundlegendes Beispiel

test.conf

[sec_a] 
a_key1 = 20 
a_key2 = 10 
  
[sec_b] 
b_key1 = 121 
b_key2 = b_value2 
b_key3 = $r 
b_key4 = 127.0.0.1
Nach dem Login kopieren
parse_test_conf.py

import ConfigParser 
cf = ConfigParser.ConfigParser() 
#read config 
cf.read("test.conf") 
# return all section 
secs = cf.sections() 
print 'sections:', secs 
  
opts = cf.options("sec_a") 
print 'options:', opts 
  
kvs = cf.items("sec_a") 
print 'sec_a:', kvs 
  
#read by type 
str_val = cf.get("sec_a", "a_key1") 
int_val = cf.getint("sec_a", "a_key2") 
  
print "value for sec_a's a_key1:", str_val 
print "value for sec_a's a_key2:", int_val 
  
#write config 
#update value 
cf.set("sec_b", "b_key3", "new-$r") 
#set a new value 
cf.set("sec_b", "b_newkey", "new-value") 
#create a new section 
cf.add_section('a_new_section') 
cf.set('a_new_section', 'new_key', 'new_value') 
  
#write back to configure file 
cf.write(open("test.conf", "w"))
Nach dem Login kopieren
Get Terminalausgabe:

sections: ['sec_b', 'sec_a'] 
options: ['a_key1', 'a_key2'] 
sec_a: [('a_key1', "i'm value"), ('a_key2', '22')] 
value for sec_a's a_key1: i'm value 
value for sec_a's a_key2: 22
Nach dem Login kopieren
Aktualisierte test.conf

[sec_b] 
b_newkey = new-value 
b_key4 = 127.0.0.1 
b_key1 = 121 
b_key2 = b_value2 
b_key3 = new-$r 
  
[sec_a] 
a_key1 = i'm value 
a_key2 = 22 
  
[a_new_section] 
new_key = new_value
Nach dem Login kopieren
4. Das ConfigParser-Modul von Python definiert drei Klassen für die Bearbeitung von INI-Dateien. Dies sind RawConfigParser, ConfigParser und SafeConfigParser. RawCnfigParser ist die einfachste Klasse zum Lesen von INI-Dateien. ConfigParser und SafeConfigParser unterstützen das Parsen von %(value)s-Variablen.

Konfigurationsdatei test2.conf festlegen

[portal] 
url = http://%(host)s:%(port)s/Portal 
host = localhost 
port = 8080
Nach dem Login kopieren
RawConfigParser verwenden:

import ConfigParser 
 
cf = ConfigParser.RawConfigParser() 
 
print "use RawConfigParser() read" 
cf.read("test2.conf") 
print cf.get("portal", "url") 
 
print "use RawConfigParser() write" 
cf.set("portal", "url2", "%(host)s:%(port)s") 
print cf.get("portal", "url2")
Nach dem Login kopieren
Terminalausgabe abrufen:

use RawConfigParser() read 
http://%(host)s:%(port)s/Portal 
use RawConfigParser() write 
%(host)s:%(port)s
Nach dem Login kopieren
Stattdessen ConfigParser verwenden:

import ConfigParser 
 
cf = ConfigParser.ConfigParser() 
 
print "use ConfigParser() read" 
cf.read("test2.conf") 
print cf.get("portal", "url") 
 
print "use ConfigParser() write" 
cf.set("portal", "url2", "%(host)s:%(port)s") 
print cf.get("portal", "url2")
Nach dem Login kopieren
Terminalausgabe abrufen:

use ConfigParser() read 
http://localhost:8080/Portal 
use ConfigParser() write 
localhost:8080
Nach dem Login kopieren
Verwenden Sie stattdessen SafeConfigParser:

import ConfigParser 
 
cf = ConfigParser.SafeConfigParser() 
 
print "use SafeConfigParser() read" 
cf.read("test2.conf") 
print cf.get("portal", "url") 
 
print "use SateConfigParser() write" 
cf.set("portal", "url2", "%(host)s:%(port)s") 
print cf.get("portal", "url2")
Nach dem Login kopieren
Terminalausgabe abrufen (der Effekt ist der gleiche wie bei ConfigParser):

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der ConfigParser-Konfigurationsdatei von Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage