zoukankan      html  css  js  c++  java
  • 如何在python项目中写出像Django中一样功能的settings

    一  核心文件目录结构

    二  实现代码

    resdme:
      在实现此功能主要用到的知识点及模块:
      1.反射
      3.内置方法dir
    # 全局配置
    NAME = 'root'
    # 用户配置
    NAME = 'personal'
    from lib.conf import global_settings  # 全局默认配置
    from config import setting  # 用户个人配置
    
    class Settings():
        '''
        需要注意的是:
            1.在初始化的时候要将全局的配资放在个人的前面
            2.因为如果使个人的配置的权限高于全局的配置是需要将个人的放在全局的后面将其覆盖
        '''
        def __init__(self):
            # 默认全局的配置
            self.setSttr(global_settings)
            # 个人的配置
            try:
                self.setSttr(setting)
            except Exception as e:
                print('您要的配置信息不存在')
    
        def setSttr(self, conf):
            for key in dir(conf):
                if key.isupper():
                    v = getattr(conf, key)
                    setattr(self, key, v)
    settings
    = Settings()

    在setting中取值:

    from config import setting
    name = setting.NAME
    print(name)
    
    # 显示结果
    '''
    personal
    '''
  • 相关阅读:
    Linux kernel pwn (四): Bypass SMEP
    Linux kernel pwn(三):Double Fetch
    Linux kernel pwn (二):UAF
    vue安装
    html标签
    javascript简介
    html样式 CSS(Cascading Style Sheets)
    html标签
    scala基础——scala变量
    elasticsearch日常维护
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/10246641.html
Copyright © 2011-2022 走看看