python操作ini配置文件【 configparser 内置模块 】

python操作ini配置文件【 configparser内置模块 】

ini文件是Initialization File的缩写,平时用于存储软件的配置文件:例如:MySql配置文件

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=py-mysql-bin
character-set-server=utf8
collation-server=utf8_general_ci
log-error=/var/log/mysqld.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0

[mysqld_safe]
log-error=/var/log/mariadb/mariadb.log
pid-file=/var/run/mariadb/mariadb.pid

[client]
default-character-set=utf8
  • 读文件

    import configparser
    config=configparser.ConfigParser()
    config.read('file/my.ini',encoding='utf-8')
    
  • 获取所有节点

    result=config.sections()
    print(result)  #['mysqld', 'mysqld_safe', 'client']
    
  • 获取某个节点下的键值

    #获取mysqld节点下的键值
    result1=config.items('mysqld')
    print(result1)  
    #一个键值是一个元组
    #[('datadir', '/var/lib/mysql'), ('socket', '/var/lib/mysql/mysql.sock'), ('log-bin', 'py-mysql-bin'), ('character-set-server', 'utf8'), ('collation-server', 'utf8_general_ci'), ('log-error', '/var/log/mysqld.log'), ('symbolic-links', '0')]
    
  • 循环节点下的键值

    #循环mysqld节点下的键值
    for key,value in config.items('mysqld'):
        print(key,value)
    
  • 获取某个节点下的键对应的值

    #获取某个(mysqld)节点下的键(collation-server)对应的值
    value=config.get('mysqld','collation-server')
    print(value)
    
  • 是否存在节点

    v1=config.has_section('client')
    print(v1)
    
  • 添加节点

    #值添加到内存里了,没有添加到文件里
    config.add_section('group')
    #添加后写进文件
    #config.write(文件对象)
    config.write(open('file/my.ini',mode='w',encoding='utf-8'))
    
  • 添加键值(节点中设置键值)

    #保存添加后的内容
    config.set('group','name','wxy')
    config.write(open('file/my.ini',mode='w',encoding='utf-8'))
    
  • 内容写入新文件(保存文件/保存一个新文件,修改的内容在缓冲区,没有实际修改文件内容)

    #保存文件/保存一个新文件,修改的内容在缓冲区,没有实际修改文件内容
    config.write(open('file/my.ini',mode='w',encoding='utf-8'))
    
  • 删除节点

    #删除节点
    config.remove_section('client')
    #保存删除后的内容
    config.write(open('file/my.ini',mode='w',encoding='utf-8'))
    
  • 删除键值

    #删除键值mysqld下的datadir
    config.remove_option('mysqld','datadir')
    #保存删除后的内容
    config.write(open('file/my.ini',mode='w',encoding='utf-8'))
    
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荼靡~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值