1. 程式人生 > 其它 >python-configparser模組學習

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"))