上节疑问:

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】:采集资产-文件配置(二)的更多相关文章

  1. CMDB服务器管理系统【s5day88】:采集资产-文件配置(一)

    django中间件工作原理 整体流程: 在接受一个Http请求之前的准备 启动一个支持WSGI网关协议的服务器监听端口等待外界的Http请求,比如Django自带的开发者服务器或者uWSGI服务器. ...

  2. CMDB服务器管理系统【s5day88】:采集资产之Agent、SSH和Salt模式讲解

    在对获取资产信息时,简述有四种方案. 1.Agent  (基于shell命令实现) 原理图 Agent方式,可以将服务器上面的Agent程序作定时任务,定时将资产信息提交到指定API录入数据库 优点: ...

  3. CMDB服务器管理系统【s5day87】:需求讨论-设计思路

    自动化运维平台愿景和服务器管理系统背景 服务器管理系统 管理后台示例 需求和设计 为什么开发服务器管理系统? 背景: 原来是用Excel维护服务器资产,samb服务[多个运维人员手动维护] 搭建运维自 ...

  4. CMDB服务器管理系统【s5day91】:如何实现允许临时修改主机名

    一.sn号唯一 & 如何实现允许临时修改主机名 1.物理机 1.sn,物理机唯一 2.后台管理: 买服务器,清单:SN号,硬盘,内存... 作业:python 读取excel,xldt 3.资 ...

  5. CMDB服务器管理系统【s5day92】:服务器管理回顾

    一.服务器管理回顾 1.requests 发送: requests.post(url='',data=,json=) requests.get() Django接受: request.POST, co ...

  6. CMDB服务器管理系统【s5day88】:采集资产之整合插件

    以后导入配置文件不用去from conf而是导入from lib.config,因为在这可以导入global_settings和settings.py import sys import os imp ...

  7. CMDB服务器管理系统【s5day91】:资产采集相关问题

    资产采集唯一标识和允许临时修改主机名 class AgentClient(BaseClient): def exec(self): obj = PluginManager() server_dict ...

  8. CMDB服务器管理系统【s5day89】:采集资产之汇报信息

    1.服务器端收到的数据和客户端的数据不一样 print(request.post) 少发了,还是少取了,说明根本没有把数据全发过来 print(request.body) 1.只把字典的key给我发过 ...

  9. CMDB服务器管理系统【s5day89】:采集资产之整合资产

    1.业务逻辑单独写 1.代码目录结构 2.client.py from src.plugins import PluginManager class BaseClient(object): def p ...

随机推荐

  1. 【原】Java学习笔记023 - 字符串缓冲区_正则表达式

    package cn.temptation; import java.util.Arrays; public class Sample01 { public static void main(Stri ...

  2. Camera Binning Mode

    Camera Binning Mode:像素合并模式,将相邻的像素单元电荷通过物理的方法叠加在一起作为一个像素输出信号: 水平方向Binning:  同列相邻行的电荷叠加 垂直方向Binning:   ...

  3. c/c++ 多线程 多个线程等待同一个线程的一次性事件

    多线程 多个线程等待一个线程的一次性事件 背景:从多个线程访问同一个std::future,也就是多个线程都在等待同一个线程的结果,这时怎么处理. 办法:由于std::future只能被调用一次get ...

  4. 回去试idea

    https://blog.csdn.net/s_eal/article/details/81486472?utm_source=blogxgwz0

  5. HBase2.0中的Benchmark工具 — PerformanceEvaluation

    简介 在项目开发过程中,我们经常需要一些benchmark工具来对系统进行压测,以获得系统的性能参数,极限吞吐等等指标. 而在HBase中,就自带了一个benchmark工具—PerformanceE ...

  6. 错误ERROR datanode.DataNode (DataXceiver.java:run(278)) - hadoop07:50010DataXceiver error processing unknown operation src:127.0.0.136479 dst:127.0.0.150010

    原因: Ambari 每分钟会向datanode发送"ping"连接一下去确保datanode是正常工作的.否则它会触发alert.但是datanode并没有处理空内容的逻辑,所以 ...

  7. kernel笔记——进程调度

    调度器完成以下任务: 时钟中断(或类似的定时器)时间内刷新进程的时间片,设置进程调度标志 系统调用返回或中断完成时检查调度标志 schedule函数 内核代码中完成进程调度的函数为schedule() ...

  8. php使用root用户启动

    一般情况下,肯定是不推荐使用root用户启动php的 但是在某些服务器管理想使用WEB的方式来控制操作的话,那么就必须要使用root用户才有权限操作 1.修改配置文件php-fpm.conf的启动用户 ...

  9. 监控elssticSearch健康状态

    [4ajr@elk1 scripts]$ curl 172.30.210.175:9200/_cat/health [4ajr@elk1 scripts]$ cat check_es_healthy. ...

  10. 1.[Andriod]之Andriod布局 VS WinPhone布局

    0.写在前面的话 近来被HTML+CSS的布局折腾的死去活来,眼巴巴的看着CSS3中的flex,grid等更便捷更高效的的布局方式无法在项目中应用,心里那叫一个窝火啊,去你妹的兼容性,,, 最近体验下 ...