Maison > développement back-end > Tutoriel Python > Explication détaillée du fichier de configuration ConfigParser de Python

Explication détaillée du fichier de configuration ConfigParser de Python

巴扎黑
Libérer: 2017-09-04 13:57:12
original
1726 Les gens l'ont consulté

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
Copier après la connexion

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"))
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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")
Copier après la connexion

Obtenir la sortie du terminal :

use RawConfigParser() read 
http://%(host)s:%(port)s/Portal 
use RawConfigParser() write 
%(host)s:%(port)s
Copier après la connexion

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")
Copier après la connexion

Obtenez la sortie du terminal :

use ConfigParser() read 
http://localhost:8080/Portal 
use ConfigParser() write 
localhost:8080
Copier après la connexion

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")
Copier après la connexion

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
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal