首页 > 文章列表 > python ChainMap管理应用程序设置

python ChainMap管理应用程序设置

Python ChainMap
294 2022-08-07

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'

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。