python 获取第一个key_Python读写ini文件

e13a5aee801d573f669be0bc5db6a383.png

ini文件是window系统配置文件采用的存储格式,这种文件格式也可以用来保存程序的配置选项,比如一个GUI界面的下拉选项、打开文件的路径、复选框的选择等,在关闭程序前将这些配置保存在一个ini文件,下次再启动程序时读出ini文件再配置GUI选项。

ini文件组成

一个ini文件由多个section组成,每个section中由一行或多行的配置项组成,一条配置项包含一个key(option)和一个value,形式类似这样:key(option)=value,如果有注释写在分号“;”后。

621a2e5f1456f295a7e5f247901b1d26.png

Python内置的configparser模块可以用来读写ini文件。

读取ini文件

2.1 读取步骤

读取ini文件的步骤:

step1、利用ConfigParser()新建一个configparser实例congfig

step2、congfig.read()方法读取并打开ini文件

step3、config[section名称][key名称]完成key的value获取

import configparser
#step1新建configparser实例
config = configparser.ConfigParser()
#step2读取方式打开ini文件
obj=config.read('config.ini')
#step3读取key='drivername'的value
drivername = config['info']['drivername']
print('drivername:',drivername) #得到内容为usbhub

==========结果==========
drivername: usbhub

2.2 get()方法

除了前面的示例中用字典形式的方法获取配置项的value,也可以用get()方法获取,第1个参数是section名称,第2个参数是key名称(也称option名称):

import configparser
config = configparser.ConfigParser() #step1新建configparser实例
obj=config.read('config.ini') #step2读取ini文件

drivername = config.get( 'info','drivername')
print('drivername:',drivername)

2.3 sections()方法

利用sections()方法可以读取到ini文件中所有的section的名称,返回一个包含所有section名称的list数据:

import configparser
config = configparser.ConfigParser()
#step2 打开配置文件
obj=config.read('config.ini') #读取ini文件
sections_obj = config.sections() #获取所有的sections名称,得到一个list
print('sections_obj:',sections_obj) #sections_obj: ['info', 'languages', 'object']
drivername = config['info']['drivername'] #读取key='drivername'的值
print('drivername:',drivername) #得到内容为usbhub

==========结果==========
sections_obj: ['info', 'languages', 'object']
drivername: usbhub

写入ini文件

3.1 写入步骤

写入ini文件的步骤:

step1、新建configparser实例congfig

step2、在config上修改配置内容,内容格式为dict型数据,文件配置项的key值对应字典的key,文件配置项的value对应字典的value

step3、打开文件并写入到ini文件

import configparser
#step1新建configparser实例
config = configparser.ConfigParser()
#step2设置ini文件内容,内容格式为dict型数据
config['info'] = {'address': 'juzicode.com', '微信公众号':'桔子code'}
config['info2'] = {'address': 'www.juzicode.com', 'weixin':'juzicode'}
#step3打开文件并写入到ini文件
with open('config-write.ini','w') as pf:
config.write(pf) #z注意这里write()的入参是打开的文件实例

打开完成写入后的ini文件,文件内容如下图所示:

3d01f6e5baaa64460eacb2fb0ed080eb.png

【注意】和read()方法入参用配置文件名称不同,这里write()方法写入的是一个用open()函数创建的文件对象,而不是某个文件名称或者要写入的数据内容。

前面的例子中设置ini配置项是一次设置该section下的所有配置项,也可以单独设置某个配置项:

config['info3']={}  ##先添加一个section
config['info3']['port_no']= '65535' #设置单独的配置项
config['info3']['ip']= '127.0.0.1'

3.2 set()、add_section()方法

和get方法类似,也可以使用set方法写入配置项,set的第一个入参为section,第2个入参为key(option),第3个入参为value,在使用set()方法前,要保证section是必须存在的,可以使用add_section()添加section:

config.add_section('info2') #先用add_section添加section
config.set('info2','address', 'www.juzicode.com') #set()方法配置
config.set('info2','weixin','juzicode')

后台回复“python教程”可以获取到Python桔子教程的全套源码。

54d74b9314f07135bd88802d6d01480d.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值