Home > Backend Development > Python Tutorial > Detailed explanation of Python's ConfigParser configuration file

Detailed explanation of Python's ConfigParser configuration file

巴扎黑
Release: 2017-09-04 13:57:12
Original
1725 people have browsed it

1. Basic reading configuration file

-read(filename) directly reads the ini file content

-sections() to get all the sections and list them The form returns

-options(section) to get all the options of the section

-items(section) to get all the key-value pairs of the section

-get(section,option ) Get the value of option in section and return it as string type

-getint(section,option) Get the value of option in section and return it as int type. There are also corresponding getboolean() and getfloat() functions.

2. Basic writing configuration file

-add_section(section) Add a new section

-set(section, option, value ) To set the option in the section, you need to call write to write the content into the configuration file.

3. Basic example

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
Copy after login

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"))
Copy after login

Get the terminal output:

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
Copy after login

Updated 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
Copy after login

4. Python’s ConfigParser Module defines three classes to operate on INI files. They are RawConfigParser, ConfigParser and SafeConfigParser respectively. RawCnfigParser is the most basic INI file reading class. ConfigParser and SafeConfigParser support the parsing of %(value)s variables.

Set the configuration file test2.conf

[portal] 
url = http://%(host)s:%(port)s/Portal 
host = localhost 
port = 8080
Copy after login

Use 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")
Copy after login

Get the terminal output:

use RawConfigParser() read 
http://%(host)s:%(port)s/Portal 
use RawConfigParser() write 
%(host)s:%(port)s
Copy after login

Use ConfigParser instead:

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")
Copy after login

Get terminal output:

use ConfigParser() read 
http://localhost:8080/Portal 
use ConfigParser() write 
localhost:8080
Copy after login

Use SafeConfigParser instead:

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")
Copy after login

Get terminal output (the effect is the same as ConfigParser):

use SafeConfigParser() read 
http://localhost:8080/Portal 
use SateConfigParser() write 
localhost:8080
Copy after login

The above is the detailed content of Detailed explanation of Python's ConfigParser configuration file. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template