Python如何使用ConfigParser读取配置文件
在项目过程中,需要设置各种IP和端口号信息等,如果每次都在源程序中更改会很麻烦(因为每次都要重启项目重新加载配置信息),因此将需要修改的参数写在配置文件(或者数据库)中,每次只需修改配置文件,就可以实现同样的目的。Python标准库的ConfigParser模块提供一套API来读取和操作配置文件。因此在程序开始位置要导入该模块,注意区分是python2还是python3,python3有一些改动
importConfigParser#python2.x
importconfigparser#python3.x
配置文件的格式
- a)配置文件中包含一个或多个section,每个section有自己的option;
- b)section用[sect_name]表示,每个option是一个键值对,使用分隔符=或:隔开;
- c)在option分隔符两端的空格会被忽略掉
- d)配置文件使用#和;注释
一个简单的配置文件样例config.conf
#databasesource [db]#对应的是一个section host=127.0.0.1#对应的是一个option键值对形式 port=3306 user=root pass=root #ssh [ssh] host=192.168.10.111 user=sean pass=sean
ConfigParser的基本操作
a)实例化ConfigParser并加载配置文件
cp=ConfigParser.SafeConfigParser()
cp.read('config.conf')
b)获取section列表、option键列表和option键值元组列表
print('allsections:',cp.sections())#sections:['db','ssh']
print('optionsof[db]:',cp.options('db'))#optionsof[db]:['host','port','user','pass']
print('itemsof[ssh]:',cp.items('ssh'))#itemsof[ssh]:[('host','192.168.10.111'),('user','sean'),('pass','sean')]
c)读取指定的配置信息
print('hostofdb:',cp.get('db','host'))#hostofdb:127.0.0.1
print('hostofssh:',cp.get('ssh','host'))#hostofssh:192.168.10.111
d)按类型读取配置信息:getint、getfloat和getboolean
print(type(cp.getint('db','port')))#
e)判断option是否存在
print(cp.has_option('db','host'))#True
f)设置option
cp.set('db','host','192.168.10.222')
g)删除option
cp.remove_option('db','host')
h)判断section是否存在
print(cp.has_section('db'))#True
i)添加section
cp.add_section('new_sect')
j)删除section
cp.remove_section('db')
k)保存配置,set、remove_option、add_section和remove_section等操作并不会修改配置文件,write方法可以将ConfigParser对象的配置写到文件中
cp.write(open('config.conf','w'))
cp.write(sys.stdout)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。