CMDB服务器管理系统【s5day88】:采集资产-文件配置(二)
上节疑问:
1、老师我们已经写到global_settings里了,为什么还要写到__init__.py setting
这的作用是为了:整合起两个的组合global_settings和settings
2、导入的时候from lib.config import settings怎么能找到这个settings呢?
导入文件夹的时候它默认会执行里面的__init__.py
3、os.environ['AUTO_CLIENT_SETTINGS'] = "conf.settings"是什么作用
当前进程里面设置一个k 一个v和其他程序没有任何关系
只在当前进程有效
拿到所有的变量
__init__.py
__init__.py from . import global_settings class Settings(object):
"""
global_settings 获取
settings 获取 """
def __init__(self):
for items in dir(global_settings):
#items 方法和属性
print(items) settings = Settings()
test.py
import sys
import os
import importlib
import requests BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(BASEDIR) from lib.config import settings
global_settings.py
TEST = True NAME = "GAOXU"
截图

只拿大写
__init__.py
from . import global_settings
class Settings(object):
    def __init__(self):
        for item in dir(global_settings):
            if item.isupper():
                #items 方法和属性
                print(item,getattr(global_settings,item))
settings = Settings()
截图

打印API

用户设置优先级高

文件形式实现:单例模式
src.a1.py
class Foo:
pass obj = Foo()
src.a2.py
from src.a1 import obj
print(obj)
src.a2.py
#单例模式 不管怎么玩,用的都是同一个对象
from src.a1 import obj
print(obj)
from src.a1 import obj
print(obj)
CMDB服务器管理系统【s5day88】:采集资产-文件配置(二)的更多相关文章
- CMDB服务器管理系统【s5day88】:采集资产-文件配置(一)
		
django中间件工作原理 整体流程: 在接受一个Http请求之前的准备 启动一个支持WSGI网关协议的服务器监听端口等待外界的Http请求,比如Django自带的开发者服务器或者uWSGI服务器. ...
 - CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解
		
在对获取资产信息时,简述有四种方案. 1.Agent (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点: ...
 - CMDB服务器管理系统【s5day87】:需求讨论-设计思路
		
自动化运维平台愿景和服务器管理系统背景 服务器管理系统 管理后台示例 需求和设计 为什么开发服务器管理系统? 背景: 原来是用Excel维护服务器资产,samb服务[多个运维人员手动维护] 搭建运维自 ...
 - CMDB服务器管理系统【s5day91】:如何实现允许临时修改主机名
		
一.sn号唯一 & 如何实现允许临时修改主机名 1.物理机 1.sn,物理机唯一 2.后台管理: 买服务器,清单:SN号,硬盘,内存... 作业:python 读取excel,xldt 3.资 ...
 - CMDB服务器管理系统【s5day92】:服务器管理回顾
		
一.服务器管理回顾 1.requests 发送: requests.post(url='',data=,json=) requests.get() Django接受: request.POST, co ...
 - CMDB服务器管理系统【s5day88】:采集资产之整合插件
		
以后导入配置文件不用去from conf而是导入from lib.config,因为在这可以导入global_settings和settings.py import sys import os imp ...
 - CMDB服务器管理系统【s5day91】:资产采集相关问题
		
资产采集唯一标识和允许临时修改主机名 class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict ...
 - CMDB服务器管理系统【s5day89】:采集资产之汇报信息
		
1.服务器端收到的数据和客户端的数据不一样 print(request.post) 少发了,还是少取了,说明根本没有把数据全发过来 print(request.body) 1.只把字典的key给我发过 ...
 - CMDB服务器管理系统【s5day89】:采集资产之整合资产
		
1.业务逻辑单独写 1.代码目录结构 2.client.py from src.plugins import PluginManager class BaseClient(object): def p ...
 
随机推荐
- Xml文档规则
			
Xml文档规则: 名字中不能包含空格 名字不能以数字或标点符号开头 左尖括号 < 后不可以有空格 起始和结束标签的大小写必须一致(严格区分大小写) XML文件中出现的第一个元素是根元素 XML文 ...
 - linux kernel内存碎片防治技术
			
Linux kernel组织管理物理内存的方式是buddy system(伙伴系统),而物理内存碎片正式buddy system的弱点之一,为了预防以及解决碎片问题,kernel采取了一些实用技术,这 ...
 - 电脑出现问题如何修复Windows 10
			
也许Windows 10无法启动.或者它可能会靴子,但会崩溃很多.在任何一种情况下,您都需要在使用PC之前解决问题.以下是修复Windows 10的几种方法. 方法1:使用Windows启动修复 如果 ...
 - SAP PS 模块,项目、WBS与网络作业概念
			
项目定义 项目定义是项目的唯一标识.通过项目定义,决定了包含于其中的所有WBS元素的组织结构.计划方法.预算方式以及结算方法等信息.而项目定义中的数据,则主要来源于“项目参数文件”,所以创建项目定义时 ...
 - css_选择器
			
老师的博客:https://www.cnblogs.com/liwenzhou/p/7999532.html 参考w3 school:http://www.w3school.com.cn/css/cs ...
 - RabbitMQ消费者消息权重,
			
有的消费者处理速度快,有的消费者处理速度慢,我们想给处理快的多发消息,处理慢的少发消息, 怎么办呢?按照之前的轮询模式,肯定不行的,这里可以检测消息数量,如果消费者正在处理就不给他发 .... def ...
 - R语言学习——实例标识符
			
> patientID<-c(1,2,3,4)> age<-c(25,34,28,52)> diabetes<-c("Type1"," ...
 - 跳跳棋[LCA+二分查找]-洛谷1852
			
传送门 这真是一道神仙题 虽然我猜到了这是一道LCA的题 但是... 第一遍看题,我是怎么也没想到能和树形图扯上关系 并且用上LCA 但其实其实和上一道lightoj上的那道题很类似 只不过那时一道很 ...
 - 聊聊基准测试的MVP方案
			
上篇博客介绍了基准测试的一些思路和方法策略,这篇博客,聊聊基准测试的MVP(最小可行性方案)... 思维导图 一.测试策略 策略名称 阈值 运行时间 性能指标 基线 注释 并发测试 CPU75%+Er ...
 - Java Lucene入门
			
1.lucene版本:7.2.1 pom文件: <?xml version="1.0" encoding="UTF-8"?> <project ...