cmdb 配置

本文详细介绍了一种CMDB系统中配置管理的实现方案,包括客户端文件夹结构、自定制配置与全局配置的集成,以及如何通过Settings对象统一管理配置信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cmdb客户端文件夹创建

客户端:client:
-bin:启动文件
-src:源文件(核心代码)
-conf:配置文件
-lib:全局的一些方法 和配置
-test:测试文件

?模仿django一个暴露给用户的settings文件,一个全局配置文件global_settings,然后都可以实现通过settings这个对象点出属性方法也就是自定义配置或者全局配置,所以要创两个配置文件?



?实现第一个功能:集成自定制配置文件和全局配置文件?
在start文件中导入lib文件夹中config文件夹中的config中settings对象,然后Setings这个类要进行实例化,实例化的时候就会触发__init__方法,这个函数里面将custom_settings和global_settings里所有的配置key,
value值都设置到settings对象里面,然后就可以对象点的方式获取到值❗❗❗?




custom_settigns.py (暴露给用户的配置文件)
USER = 'root'

 

global_settings.py        (全局的配置文件)

EMAIL_USER = 'test'

然后可以先在测试文件test中进行测试一下

s1.py

USER = 'root'
port = 23

s2.py

import s1


print(dir(s1)) #变成字典
# ['USER', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'port']

print(s1)
print(s1.USER)  导入文件也可以点的方式获取到文件中的内容,文件实际上也是个对象,可以通过点的方式来获取值

for key in dir(s1):
    if key.isupper():  # 我们只要大写的,因为配置文件里面规定大写,小写就排除掉
        print(key)

config.py 

将custom_settings和global_settings里所有的配置key,
value值都设置到settings对象里面?
from conf import custom_settings
from . import global_settings
全局配置要放在自定制配置上面,因为这样才会实现全局和局部同一个配置,先加载用户写的配置
class Settings(): def __init__(self): ### 全局设置 for key in dir(global_settings): if key.isupper(): v = getattr(global_settings, key) # 获取全局配置文件中配置的值,第一个是对象(导入的文件),第二个key,v就是key对应的值 setattr(self, key,v) # self代表的是当前的对象settings,key就是配置文件的大写的配置,v 就是self.配置的值也就是key对应的值,
                        所以这样就可以通过settings这个对象点的方式获取到值
### 自定制配置 for key in dir(custom_settings): if key.isupper(): v = getattr(custom_settings, key) # 第一个是对象,第二个key setattr(self, key,v) # self代表的是当前的对象settings,key就是配置文件的大写的配置,v 就是self.配置的值,所以这样就可以通过settings这个对象点的方式获取到值 settings = Settings()

start.py

start文件中导入config中settings对象?
from lib.config.config import settings

if __name__ == '__main__':
    pass

 







转载于:https://www.cnblogs.com/huangxuanya/p/11621819.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值