1、ChainMap在管理应用程序中的默认配置值时尤其有用。
ChainMap是它的一个主要功能,可以为关键的查找操作设置优先级。
它似乎是解决管理应用程序配置问题的合适工具。
2、ChainMap允许定义应用程序的代理配置的适当优先级。
查询关键字搜索cmd_proxy,然后local_proxy,最后system_proxy,返回当前键的第一个实例。在这个例子中,用户没有在命令行上提供代理,所以应用程序从它获得代理local_proxy,这是列表中的下一个设置提供者。
实例
举例来说,假设您正在开发一个命令行接口(CLI)应用程序。此应用程序允许用户指定代理服务以连接到Internet。设定优先级为:
-
命令行选项(–proxy,-p)
-
使用本机主表中的本地简要表。
-
系统范围的代理结构。
当用户在命令行中提供代理时,应用程序必须使用代理。另外,应用程序应该使用下一个配置对象中提供的代理,等等。它是ChainMap中最常见的一种。如果是这样的话,可以执行以下操作:
>>> from collections import ChainMap >>> cmd_proxy = {} # The user doesn't provide a proxy >>> local_proxy = {"proxy": "proxy.local.com"} >>> system_proxy = {"proxy": "proxy.global.com"} >>> config = ChainMap(cmd_proxy, local_proxy, system_proxy) >>> config["proxy"] 'proxy.local.com'
以上就是python ChainMap管理应用程序设置,希望对大家有所帮助。更多Python学习指路:python基础教程
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。