如何在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
‘‘‘

原文地址:https://www.cnblogs.com/zhaijihai/p/10246641.html

时间: 2024-12-31 03:24:04

如何在python项目中写出像Django中一样功能的settings的相关文章

[译] 如何在React中写出更优秀的代码

目录 我们先来看 Linting 利用组件模块性.复用性和组合性 propTypes 和 defaultProps 知道何时创建新组件 组件 vs 纯组件 vs 无状态函数组件 无状态函数组件 纯组件 使用 React 开发工具 使用内联条件语句 尽可能使用代码片段库 React 本质 - 学习 React 是如何工作的 快速回顾 在React中写出更好代码的9条建议:学习关于 Linting, propTypes, PureComponent 等. Rajat S · 2018 年 4 月 1

如何在NetBeans IDE中写出更好的Javadoc

作为一名在IDR解决方案上的开发者,我花了我很多时间来增加Javadoc中JPedal的Java PDF库,使之更易于使用. 我认为这可能是非常有用的,显示你的NetBeans IDE中如何简化这个过程.在这短短的教程中,我将解释如何自定义Javadoc,以及如何将它添加到任何一个类或整个项目. 自定义Javadoc 要自定义Javadoc的范围,只需选择NetBeans IDE的任务栏上的工具,然后选择选项中编辑器.在搜索中键入Javadoc. 添加Javadoc NetBeans让你添加Ja

如何在github中写出自己的readme文件

一.问题 最近想做一个论文阅读的github库,想到写一个readme文件,但怎么能写得和一些官方readme文件一样呢,在网上找了很多教程,世界上都是千篇一律,连改都不改,直接复制,真是太垃圾了. 二.解决 在找的过程中,一个人的回答真的是很不错,直接把写得好 的文件扒下来,理解一下,照着写就是了.例如问答中推荐的readme文件,把它copy下来,在typora中的源码模式中paste完了之后关闭源码模式,就可以显示.然后找到你想要的,直接比对着做就好了. 原文地址:https://www.

在java中写出完美的单例模式

1. 前言 单例(Singleton)应该是开发者们最熟悉的设计模式了,并且好像也是最容易实现的--基本上每个开发者都能够随手写出--但是,真的是这样吗? 作为一个Java开发者,也许你觉得自己对单例模式的了解已经足够多了.我并不想危言耸听说一定还有你不知道的--毕竟我自己的了解也的确有限,但究竟你自己了解的程度到底怎样呢?往下看,我们一起来聊聊看~ 2. 什么是单例? 单例对象的类必须保证只有一个实例存在--这是维基百科上对单例的定义,这也可以作为对意图实现单例模式的代码进行检验的标准. 对单

C# List中写出LINQ类似SQL的语句

很多时候,从一个关系表中挑出一个我们需要的元素列表采用SQL语句是再容易不过的了,其实C#的List中也可以采用类似的方法,虽然List中集成了Select(), Where()等语句,不过如果你的判断规则较为复杂,或者想要看起来一目了然,以下的方法也是可行的: 首先假设你有一个类 public class People { public string Name { get; set; } public int Age { get; set; } } 并且有一些初始化语句 List<People

Html5如何快速在页面中写出多个轮播图效果

我们在做项目的过程中,有时候客户需求要求你在同一个页面中,写几个不同样式的轮播图效果,那么如何快速实现呢?(要知道若果你每个轮播图都要用原生javascript写的话,会很麻烦,代码也不够简洁) 这里我们就可以借助插件来实现这一功能,swiper.js就是一个专门处理轮播图效果的js库,下面举例来说明: <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"&g

python使用chilkat解析出邮件文本中的发送to和抄送cc

安装chilkat wget "https://chilkatdownload.com/9.5.0.66/chilkat-9.5.0-python-2.7-x86_64-linux.tar.gz" tar xf chilkat-9.5.0-python-2.7-x86_64-linux.tar.gz cd chilkat-9.5.0-python-2.7-x86_64-linux/ python installChilkat.py 代码: #!/usr/bin/env pyhton #

Python读入与写出中文时出现乱码

解决办法:重置sys模块,设置默认编码方式为utf-8. 在.py文件的开头添加下面两行代码: 1 reload(sys) 2 sys.setdefaultencoding('utf8')

js中的写出想jquery中的函数一样调用

1.IIFE: Immediately-Invoked function Expression 函数模块自调用 2.代码实现 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <div id="demo">的么的事</div> <