当前位置: 首页 > 工具软件 > ini-parser > 使用案例 >

python 的configparse 读取ini 文件

闻人越
2023-12-01

python 那些事,读取配置文件再也不是什么难事

python 的configparse  是python自带的类,我们可以直接使用。挺方便的,我在这里又稍稍改写了一下,大家可以参考

常用的一些方法:

    config.read(filename)   #读取文件内容
    config.sections()  #得到所有的section,并且以列表形式返回
    config.options(section)  #得到section下所有的option
    config.items(option)  #得到该section所有的键值对
    config.get(section, option)   #得到section中option的值,返回string类型的结果
    config.getint(section, option)  #得到section中option的值,返回int类型的结果

    config.write(filename)  #将configparser对象写入.ini类型的文件
    add_section()   #添加一个新的section
    add_set(section, option, value)  #对section中的option信息进行写入

    config.read(filename) #读取文件(这里需要注意的是:一定要先读取文件,再进行修改)
    config.remove_section(section)  #删除文件中的某个section的数值
    config.remove_option(section, option)  #删除文件中某个section下的option的数值

文件的准备:

[URL]
homepage_url=https://www.baidu.com/

[mailInfo]
host=smtp.163.com
account=12345678@163.com
password=12345678

代码如下:


import configparser

class  ConfigUtils(object):

    def __init__(self,filepath):
        self.config = configparser.ConfigParser()
        self.config.read(filepath, encoding="utf-8")
        pass

    def getConfig(self,section,key=None):
        '''
        如果传递过来key就返回 对应 的key值,否则 直接返回 整个对象
        :param section:  中括号中的区域  [mailInfo]
        :param key:      这个区域下面的键
        :return:
        '''
        if key != None:
            return  self.config.get(section,key)
        else:
            data_list = {}
            for x in list(self.config.items(section)):
                data_list[x[0]] =x[1]
            return data_list



if __name__ == '__main__':
    config = ConfigUtils("./test.ini")
    ret = config.getConfig("mailInfo")
    print(ret)

 类似资料: