python中对配置文件的读写操作

python内置的configparser模块能非常方便的对配置文件进行操作,常见的配置文件有*.ini和*.conf。配置文件常见的内容形式如图所示(还有冒号表示的),主要组成部分也在图中:

需要注意的是value被读出来后都是字符串类型的,虽然在文件里面看上去是整型


一、读取配置文件
import configparser
config = configparser.ConfigParser()
复制代码
1. 获取所有的section,返回一个列表
    config.sections()   
    >>>   ['bitbucket.org', 'topsecret.server.com']
    这里为什么没有DEFAULT?我的理解是DEFAULT是个特殊的section,它属于其他所有的section,或者说其他的section都继承DEFAULT。注意DEFAULT一定都是大写字母,不然这种效果就没了。  
复制代码
2.获取指定section下的所有option,返回一个列表
    config.options('topsecret.server.com')     
    >>>  ['port', 'forwardx11', 'serveraliveinterval', 'compression', 'compressionlevel']
    这里除了topsecret.server.com原本有的两个option,还有DEFAUTL里面的所有option,相当于继承了DEFAULT里面的所有option,且自己的value会覆盖DEFAULT的value,详见第3点。
复制代码
3.获取指定section中option的value,返回一个字符串
    conf['topsecret.server.com']['ForwardX11']
    >>>   no
    或者用get:conf.get('topsecret.server.com', 'ForwardX11')
    这里cForwardX11就把DEFAULT里面的cForwardX11值覆盖了,变成了no
复制代码
4.获取指定section的item,返回是一个列表,元素是二元元组
    conf.items('bitbucket.org')
    >>>   [('serveraliveinterval', '45'), ('compression', 'yes'), ('compressionlevel', '9'), ('forwardx11', 'yes'), ('user', 'hg')]
    bitbucket.org也继承了DEFAULT
复制代码
二、写配置文件
import configparser
config = configparser.ConfigParser()
复制代码
1. 直接将一个dict赋值给section
config['db'] = {
    'host': '192.168.1.2',
    'port': '123'
}
复制代码
2. 或者创建先创建一个空section,在加item
config['platofrm'] = {}
config['platform']['name'] = 'cc'
用这种方法的话一定得先创建section,直接执行第二行代码是不行的。
复制代码
3. 最后要把配置写到文件里面
with open('example.ini', 'w') as configfile:
    config.write(configfile)
复制代码

4. 对已有的配置进行更改
config.set('platform', 'name', 'bb')
同样要再一次做写入文件操作才能生效。复制代码

转载于:https://juejin.im/post/5ac21754f265da23853308a4

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值