python-configparser模块学习

configparser模块:读取配置文件的包,配置文件由章节(section[sectionName])、键、值组成。(key=value or key: value),其中key=value通过被称为option

 

1、新建一个config.ini文件

1 [wework]
2 corp_id = 111111
3 contact_secret = 11111
4 meeting_room_secret = 1111
5 schedule_secret = 11111
6 hahaha: hohoho

 

2、基本用法:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File  : config.py
# @Author: ttwang
# @Date  : 2021/6/28
# @Desc  : configparser模块学习

import configparser
import os

# 获取config.ini文件
base_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
config_file_path = os.path.join(base_path,"config.ini")

# 一、读取config_ini中章节(section)、键(option)、值(value)
# 1 创建configparser实例
config = configparser.ConfigParser()

# 2 读取config.ini配置文件
config.read(config_file_path)

# 3 获取config.ini文件中的章节(section)
print(config.sections())    # 本例中打印为:['wework']

# 4 获取config.ini文件指定section的option,即key=value中key
print(config.options('wework'))
# 4中打印:['corp_id', 'contact_secret', 'meeting_room_secret', 'schedule_secret', 'hahaha']

# 5 获取config.ini文件中指定section的option值,即key=value中的value
print(config.get('wework','corp_id'))

# 6 获取配置文件中对应章节的所有键值对
print(config.items('wework'))
# 6中打印:[('corp_id', '55555'), ('contact_secret', '11111'), ('meeting_room_secret', '1111'), ('schedule_secret', '11111'), ('hahaha', 'hohoho')]

# 二、往config_ini写入章(seciton)、键(option)、值(value)
# 1 增加section,
config.add_section("wechat")
# 2 往配置文件的[wechat]章节下加入键值
config.set("wechat",'name','ttwang')

# 3 保存
with open(config_file_path,"w+") as f:
    config.write(f)

3、简单的实例化:

1)学习参考:

https://github.com/a376230095/wwork_api_interface_test

2)更规范的可以学习:https://blog.csdn.net/qq_35653145/article/details/106042406

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File  : config.py
# @Author: ttwang
# @Date  : 2021/6/28
# @Desc  : 读取配置文件的封装类

import configparser
import os

class ConfigIni:

    # 获取项目的绝对路径
    BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    # 获取配置文件config.ini的路径
    config_file_path = os.path.join(BASE_PATH,"config.ini")

    def __init__(self,file_path=config_file_path):
        # 为了让写入文件的路径是唯一值,因此这样定义
        self.config_file_path= file_path
        # 实例化configparser对象
        self.cf = configparser.ConfigParser()
        # 读取配置文件
        self.cf.read(file_path)

    # 获取配置文件中的option值,即key=value中的value
    def get_key(self, section, option):
        value = self.cf.get(section, option)
        return value

    # 新增配置文件中的option值,即key=value中的value
    def set_value(self, section, option, value):
        self.cf.set(section, option, value)
        with open(self.config_file_path, "w+") as f:
            self.cf.write(f)

# 配置对象为单例模式,其他模块直接引用
cf = ConfigIni()

if __name__ == "__main__":
    print(cf.get_key("wework", "contact_secret"))

 

上一篇:汇编.section和.text以及入口地址解释


下一篇:【iOS】SwiftUI Section