Python 配置信息的添加和获取

1.效果如下:

2.代码如下:

from configparser import ConfigParser
import threading

class Config():
    _instance_lock = threading.Lock()
    @classmethod
    def instance(cls, *args, **kwargs):
        if not hasattr(Config, "_instance"):
            with Config._instance_lock:
                if not hasattr(Config, "_instance"):
                    Config._instance = Config(*args, **kwargs)
        return Config._instance
    
    def __init__(self) -> None:
        self.config=ConfigParser()
        self.configpath='./AppConfigs.ini'
        self.config.read(self.configpath,encoding='utf-8')
        self.sec_appsetting='appSettings'

    def getconfig_appSettings(self,key,defualt_value):
        '''
        读取配置
        '''
        self.config.read(self.configpath,encoding='utf-8')
        if not self.config.has_option(self.sec_appsetting,key):
            return defualt_value
        else:
            return self.config.get(self.sec_appsetting,key)

    def setconfig_appSettings(self, key,value):
        '''写入(更新)配置文件'''
        if not self.config.has_section(self.sec_appsetting):
            self.config.add_section(self.sec_appsetting)
        self.config.set(self.sec_appsetting, key, value)
        with open(self.configpath, 'w') as configfile:
            self.config.write(configfile)

def testconfig():
    config= Config.instance()
    config.setconfig_appSettings("key1","value1")
    config.setconfig_appSettings("key2","value2")
    realkey=config.getconfig_appSettings('key2','defualt')
    realkey2=config.getconfig_appSettings('key1','defualt1')
    print(realkey,realkey2+";")

if __name__ == '__main__':
    testconfig()

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-13 08:10:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-13 08:10:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-13 08:10:03       82 阅读
  4. Python语言-面向对象

    2024-03-13 08:10:03       91 阅读

热门阅读

  1. 常用的深度学习框架

    2024-03-13 08:10:03       40 阅读
  2. @Insert注解是怎么用的?

    2024-03-13 08:10:03       50 阅读
  3. 构建轻量级CentOS Docker镜像的实战指南

    2024-03-13 08:10:03       42 阅读
  4. 微信小程序文字上下无缝轮播(滚动效果)

    2024-03-13 08:10:03       41 阅读
  5. R语言系列3——R语言数据可视化入门

    2024-03-13 08:10:03       44 阅读
  6. 微信小程序

    2024-03-13 08:10:03       44 阅读
  7. uniapp小程序上传oss

    2024-03-13 08:10:03       40 阅读
  8. Mac管理Ruby环境

    2024-03-13 08:10:03       45 阅读
  9. 贪心算法相关

    2024-03-13 08:10:03       43 阅读