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

Detaillierte Erläuterung der ConfigParser-Konfigurationsdatei von Python

巴扎黑
巴扎黑Original
2017-09-04 13:57:121789Durchsuche

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
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"))
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
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
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
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")
Terminalausgabe abrufen:

use RawConfigParser() read 
http://%(host)s:%(port)s/Portal 
use RawConfigParser() write 
%(host)s:%(port)s
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")
Terminalausgabe abrufen:

use ConfigParser() read 
http://localhost:8080/Portal 
use ConfigParser() write 
localhost:8080
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")
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!

Stellungnahme:
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