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)

 

posted @ 2018-07-03 19:17  活的潇洒80  阅读(332)  评论(0编辑  收藏  举报