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)
作者:罗阿红
出处:http://www.cnblogs.com/luoahong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。