多层次特异性的级联设置

settingscascade的Python项目详细描述


简介

pypibldcvgblack

让用户自定义应用程序的最常用方法之一 工作是使用配置文件。这意味着很多项目都结束了 包括要在配置值中读取的实现,请指定 默认值,控制何时查找哪些值,并强制执行 某种模式。

设置scascade旨在处理此场景。尽管它可以 在简单的情况下使用,当你需要拉进来的时候,它真的会发光 来自各种来源的值,有一组丰富的默认值,以及 赋予用户在不同级别配置重写的灵活性。 它使用的模型是css,模仿css使用选择器的方式 从不同的特异性层次级联设置。你的用户 指定与css中相同的规则块-

# Each rule block has a selector, using CSS semantics# this block is for a task element with the class "default"task.default:command:"echohello"on_complete:"echoworld"# You can specify top level settings as well for a final# level of fallbackproject_name:"myproject"

然后您的应用程序可以使用配置

# Task represents an element (like a div or a in HTML).# you can specify what values are valid for this element typeclassTask(SettingsSchema):_name_=taskcommand:stron_complete:strconfig=SettingsManager(yaml.load("config.yml"),[Task])# In your code, you can pull an element from the settingsmanager# object and find the rules that apply. This is like an element# <task class="default"></task>task_config=config.task(class="default")run_task(command=task_config.command,on_complete=task_config.on_complete,name=config.project_name,)

阅读https://settingscascade.readthedocs.io/en/latest/上的完整文档

安装

您可以从pypi安装settingscascade-

pip install settingscascade

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
使用安卓中不同Java类中声明的变量   java Paypal重新授权失败DCC\u不允许重新授权\u   java删除Nattable中的行号   Java扫描器在循环时数据类型验证中输入错误后未读取换行符   java如何使用jsoup计算div的数量?   java嵌套这样的try/finally子句安全吗?   Java中的安卓格式浮点数(#.#.#.#.#)   java为什么maven总是指向JRE的较低版本   Java中的对象GUI网格   具有中心值和基于值的背景的java单元格   在java中,如何检查布尔值是否存在介于两个数字之间的数字?   等于Java 1.7对hashCode()的重写,其行为不符合我的预期   java使用来自Netbeans的JDBC资源和servlet