python 读写ini文件


前言

今天给大家介绍一下,用python怎么快速读写ini配置文件


在这里插入图片描述

一、python读文件

import configparser
cfp = configparser.ConfigParser()
cfp.read("test.ini")

'''获取所有的selections'''
selections = cfp.sections()
print(selections) #  ['Title1', 'Title2']

'''获取指定selections下的所有options'''
options = cfp.options("Title1")
print(options)  # ['key1', 'key2']

'''获取指定selection下的指定option的值'''
value= cfp.get("Title1", "key1")
print(value)  # 1111111111

'''判断是否含有指定selection 或 option'''
print(cfp.has_section("Title1"))  # True
print(cfp.has_option("Title1", "key3"))  # False

二、写文件

代码如下(示例):

import configparser
cfp = configparser.ConfigParser()
cfp.read("test.ini")

cfp.add_section("Title3")  # 设置option的值
cfp.set("Title3", "key1", "1111111111")  # 注意这里的selection一定要先存在!
cfp.set("Title3", "key2", "2222222222")

cfp.remove_section("Title3")  # 移除指定selection

cfp.remove_option("Title2", "key1")  # 移除指定selection下的option

with open("test.ini", "w+") as f:
    cfp.write(f)

三、封装成函数

	# 将name,password写入ini文件中
    def writeToINI(self, name, password):
        self.config.set('Titlel', name, password)
        self.config.write(open("Title1.ini", 'w'))  # 保存数据
 	# 读取ini文件中的name,password
    def readINI(self,name,password):
    	ret = False
        self.config.read("test.ini")
        sections = self.config.sections()
        items = self.config.items('test')
        # 判断name,password是否存在ini文件的section中
        if (name, password) in items:
            ret = True
        return ret

注意:

如果某个section已经存在了,在写入的时候不能够再使用config.add_section(‘Title1’)这个函数了,这样会报错,所以,我们需要进行判断,先判断Title1是否存在,然后再进行操作
例子:

self.config = configparser.ConfigParser()  # 类实例化
self.config.read('name_password.ini')
if 'name_password' not in self.config.sections():
    self.config.add_section('name_password')

这样就可以再name_password 这个section下面进行追加操作了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值