flask中可以配置一个字符串导入settings下的配置文件

app.config.from_object("settings.ProductionConfig")

这里就是来讲解一下这个到底是怎么实现的。

例:
这是just_xxx.py里面的内容

# -*- coding: utf-8 -*-
# @Time    : 2019/6/17 上午 11:50
# @Author  : lh
# @Email   : 22@qq.com
# @File    : just_xxx.py
# @Software: PyCharmclass MyValue(object):VALUE1 = 'this is a vaule1'VALUE2 = 'this is a vaule2'

test_use.py

# -*- coding: utf-8 -*-
# @Time    : 2019/6/17 上午 11:52
# @Author  : lh
# @Email   : 2470937072@qq.com
# @File    : test_use.py
# @Software: PyCharm
import importlibmy_path = 'test1.just_xxx.MyValue'path, name = my_path.rsplit('.', maxsplit=1) # 进行反向切片。a = importlib.import_module(path) # 获取<module 'test1.just_xxx' from 'I:\\flask_about\\flask_test1\\test1\\just_xxx.py'>cls = getattr(a, name) # 使用反射
for key in dir(cls): # 遍历内容if key.isupper(): # 筛选大写的属性print(key, getattr(cls, key))

这是我的项目目录

这就是flask和django里面的配置文件的实现原理了。

转载于:https://www.cnblogs.com/Apy-0816/p/11100250.html

通过字符串引入模块下的属性相关推荐

  1. startindex 不能大于字符串长度_玩转云端丨redis的5种对象与8种数据结构之字符串对象(下)...

    引言 本文是对<redis设计与实现(第二版)>中数据结构与对象相关内容的整理与说明.本篇文章只对对象结构,1种对象--字符串对象.以及字符串对象所对应的两种编码--raw和embstr, ...

  2. elementui的css文件没有引入_Python中引入模块详细介绍,使用模块的过程中注意事项教程...

    ​ 为此 Python 提供了一个办法,把这些定义存放在文件中,这个文件被称为模块. 模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py.模块可以被别的程序引入,以使用该模块中的函数等功能. ...

  3. security_huks模块下hks_rkc.c代码评注第一部分

    security_huks模块下hks_rkc.c代码评注第一部分 本篇综述 变量定义与初始化 密钥库文件属性初始化 初始化熵 填充密钥库文件缓冲区 填充哈希字段到缓冲区 填充根密钥数据到缓冲区 填充 ...

  4. Python爬虫学习笔记-第三课(网络请求模块下)

    网络请求模块下 1. urllib-get案例 1.1 代码需求:爬取贴吧数据 1.2 代码思路 1.3 代码实现 2. urllib-post案例 3. requests模块简介 3.1 get案例 ...

  5. python和javascript详细对比_python与javascript 引入模块的方法对比

    1.引入整体模块对比 python 方法一: #引入全部函数 from xxx import * #直接使用模块里面的各函数或者属性 test() 方法二: #引入全局的模块 importglobal ...

  6. 若依微服务版怎样在common-core模块下引用第三方lib的jar包(MobileIMSDK4J_tcp的jar包)

    场景 若依微服务版手把手教你本地搭建环境并运行前后端项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109363303 在上 ...

  7. 若依微服务版怎样实现不同业务模块下实体和mapper互相调用

    场景 若依微服务版怎样新增业务子模块并使用代码生成实现对表的增删改查: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/109524 ...

  8. python高级语法-collections模块下几个新序列

    很多乃至绝大多数时候list,set,dict是不错的选择,但是有些特殊情形下我们发现内置的三种序列结构不能方便地满足我们的要求,这是collections模块下的几个新序列就有了用武之地. 这里只介 ...

  9. Spring Boot和多模块项目–添加模块特定的属性文件

    你好! 在本文中,我将向您展示几种如何在Spring Boot项目中添加模块特定的属性文件的方法. 它将介绍使属性文件可识别配置文件的手动方法以及可识别配置文件的半自动方法. 我的Github帐户上发 ...

最新文章

  1. 也跟90后小朋友聊聊
  2. linux 命令行 java_在Linux上讲Java命令行的作为服务运行
  3. 【web开发】☆★之利用POI操作Excel表格系列教程【6】遍历工作簙行和列取值
  4. Eclipse的tomcat出现:the server cannot started because one or more of the ports are invalid
  5. [BZOJ4987] Tree
  6. Android 启动过程简析
  7. Ansible 命令
  8. Message启动菜单个性化制作工具V1.0.3.1最终版
  9. nicescroll参数
  10. 明日之后最新服务器开服时间,明日之后新区开服时间 新区开放表[图]
  11. ApacheCN 计算机视觉译文集 20210212 更新
  12. NOI2010超级钢琴
  13. 280. 陪审团 - AcWing (拔河DP,反推过程)
  14. 苹果体验店:鲜为人知的乔布斯的秘密
  15. ssh问题Received disconnect from:Too many authentication failures
  16. 反编译微信小程序,win电脑解析获取微信小程序源码
  17. 电话号码分身(java小米校招17)
  18. 使用HBuilderX下载插件及运行微信小程序
  19. 一种基于机载AI模块的多旋翼无人机的电力巡检报告生成方法
  20. linux下wget通过代理下载(shadow-socks + privoxy)

热门文章

  1. Linux open函数使用方法记录
  2. linux RTC 驱动模型分析
  3. 上交大计算机复试机师难不难,本科复旦,考研上海交大复试第一,我感觉难度并不大...
  4. 微信小程序 禁止弹框下面的内容滑动 弹窗禁止底部内容滚动
  5. UNIX网络编程学习笔记(代码超详细解析)(持续更新)
  6. linux perl telnet安装,51CTO博客-专业IT技术博客创作平台-技术成就梦想
  7. Python基础之函数
  8. canvas 在线画图
  9. onCreateOptionsMenu
  10. java-String类