1. Le fichier de configuration de lecture de base
-read(filename) lit directement le contenu du fichier ini
-sections() pour obtenir toutes les sections et les lister Le formulaire renvoie
-options(section) pour obtenir toutes les options de la section
-items(section) pour obtenir toutes les paires clé-valeur de la section
-get(section ,option ) Obtenez la valeur de l'option dans la section et renvoyez-la sous forme de type chaîne
-getint(section, option) Obtenez la valeur de l'option dans la section et renvoyez-la sous forme de type int. Il existe également des getboolean() correspondants. et les fonctions getfloat().
2. Fichier de configuration d'écriture de base
-add_section(section) Ajouter une nouvelle section
-set( section, option, value ) Pour définir l'option dans la section, vous devez appeler write pour écrire le contenu dans le fichier de configuration.
3. Exemple de base
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"))
Obtenir Sortie du terminal :
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
Test.conf mis à jour
[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. Le module ConfigParser de Python définit trois classes pour fonctionner sur les fichiers INI. Il s'agit respectivement de RawConfigParser, ConfigParser et SafeConfigParser. RawCnfigParser est la classe de lecture de fichiers INI la plus basique. ConfigParser et SafeConfigParser prennent en charge l'analyse des variables %(value)s.
Définir le fichier de configuration test2.conf
[portal] url = http://%(host)s:%(port)s/Portal host = localhost port = 8080
Utiliser RawConfigParser :
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")
Obtenir la sortie du terminal :
use RawConfigParser() read http://%(host)s:%(port)s/Portal use RawConfigParser() write %(host)s:%(port)s
Utiliser ConfigParser à la place :
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")
Obtenez la sortie du terminal :
use ConfigParser() read http://localhost:8080/Portal use ConfigParser() write localhost:8080
Utilisez plutôt 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")
Obtenez la sortie du terminal (l'effet est le même que celui de ConfigParser) :
use SafeConfigParser() read http://localhost:8080/Portal use SateConfigParser() write localhost:8080
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!