python configparser配置文件的读写

python使用configparser可以实现配置文件的读写。
configparser中有SafeConfigParser、ConfigParser、RawConfigParser三个类对象。SafeConfigParser继承自ConfigParser,ConfigParser继承自RawConfigParser。
在这里插入图片描述
因此可以直接使用RawConfigParser。

下面通过代码展示以下RawConfigParser中的方法的使用。
1、准备的配置文件mysql.ini(和脚本在同一目录下)。

[MySQLdb]
user = dev
passwd = 'dev'
db = userdb
host = '192.168.16.176'
port = 3306
charset = 'utf8'
maxconnect = 5

[db]
user = ming
passwd = user_4_script
db = userdb
host = 112.62.16.81
port = 1
charset = utf8
maxconnect = 5

2、使用RawConfigParser完成脚本内容的读取

# coding:utf-8
'''
Note:
   读取配置文件
Author:Qred
Date:2019/8/27
'''

import configparser

def main():
   path = 'mysql.ini'
   cfg = configparser.RawConfigParser()
   cfg.read(path)

   print '获取section节点'
   print cfg.sections()

   print '获取是否存在指定section的信息'
   print cfg.has_section('db')

   print '获取section的所用配置信息'
   print cfg.items('db')

   print '获取指定section的options即该节点的所有键'
   print cfg.options('db')

   print '查看指定的section是否存在该option user:'
   print cfg.has_option('db','user')

   print '获取指定section下的指定options user 的值'
   print cfg.get('db', 'user')

   print '指定获取到的port值的类型 int float boolean'
   print cfg.getint('db', 'port')
   print cfg.getfloat('db', 'port')
   print cfg.getboolean('db', 'port')

   print '\nchange data .\n'

   print '设置port为666(设置value类型时,统一用str格式)'
   cfg.set('db','port','666')
   print cfg.getint('db', 'port')

   print '添加section节点test'
   cfg.add_section('test')
   print cfg.has_section('test')
   print '为test添加option name,并设置值为root'
   cfg.set('test', 'name', 'root')
   print cfg.items('test')

   print '删除option name'
   cfg.remove_option('test','name')
   print cfg.has_option('test','name')

   print '删除section节点test'
   cfg.remove_section('test')
   print cfg.has_section('test')

if __name__ == '__main__':
    main()

可以直接复制上面的两个文件,在本地直接运行,查看运行效果。
当然,在使用的过程中可以直接使用get()、getint()、getfloat()方法获取我们实际需要的配置文件数据。

值得注意的是,使用set方法设置配置文件时,value值需要是string格式。而在获取时,需要使用不通的get方法进行数据类型转换。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值