配置文件:
配置文件使用[section]和key-value对来区分;
key:value和key=value都可以;
和;是注释行;
SafeConfigParser类可以实现插值;
[numbers] pi:3.14159 [messages] greeting: Welcome to the area calculation program! question: Please enter the radius: result_message: The area is:**读取配置:**
from ConfigParser import ConfigParser
config = ConfigParser()
# 读取配置文件
config.read('c:/python/config.txt')
# 打印初始问候语'greeting'
# 要查看的区段是'messages'
print config.get('messages', 'greeting')
# 读取半径数值
radius = input((config.get('messages', 'question') + ' '))
print config.get('messages', 'result_message'),
# 打印结果
print (config.getfloat('numbers', 'pi') * radius**2)
**输出**
Welcome to the area calculation program! Please enter the radius: 1.2 The area is: 4.5238896**写配置**
import ConfigParser
config = ConfigParser.RawConfigParser()
# When adding sections or items, add them in the reverse order of
# how you want them to be displayed in the actual file.
# In addition, please note that using RawConfigParser's and the raw
# mode of ConfigParser's respective set functions, you can assign
# non-string values to keys internally, but will receive an error
# when attempting to write to a file or when you get it in non-raw
# mode. SafeConfigParser does not allow such assignments to take place.
config.add_section('Section1')
config.set('Section1', 'an_int', '15')
config.set('Section1', 'a_bool', 'true')
config.set('Section1', 'a_float', '3.1415')
config.set('Section1', 'baz', 'fun')
config.set('Section1', 'bar', 'Python')
config.set('Section1', 'foo', '%(bar)s is %(baz)s!')
# Writing our configuration file to 'example.cfg'
with open('example.cfg', 'wb') as configfile:
config.write(configfile)
**关于插值:**
foo = %(bar)s is %(baz)s!
print (config.get('Section1', 'foo', 0, {'bar': 'Documentation',
'baz': 'evil'}))
输出为:
Documentation is evil!