5.3.1.1 ChainMap的例子和技巧
来源:互联网 发布:linux sql只返回数值 编辑:程序博客网 时间:2024/06/05 02:58
下面来提供一些ChainMap类使用的场合和技巧:
模拟python内部查获命名变量的映射链:
#python 3.4
import builtins
import collections
pylookup = collections.ChainMap(locals(), globals(), vars(builtins))
print(pylookup)
在这个例子里,把本地作用域命名、全局作用域命名和内置作用域命名通过链式放在一起,查找时会先本地,再到全局,最后才是内置作用域。
让命令行参数优先操作系统环境变量参数,操作系统环境变量参数又优先于缺省值的例子:
#python 3.4
import collections
import os, argparse
defaults = {'color': 'red', 'user': 'guest'}
parser = argparse.ArgumentParser()
parser.add_argument('-u', '--user')
parser.add_argument('-c', '--color')
namespace = parser.parse_args()
command_line_args = {k:v for k, v in vars(namespace).items() if v}
combined = collections.ChainMap(command_line_args, os.environ, defaults)
print(combined['color'])
print(combined['user'])
结果输出如下:
red
guest
在这个例子里,要注意这行代码:
collections.ChainMap(command_line_args, os.environ, defaults)
放前面的字典就是最先搜索,最后面的就是最后搜索。
蔡军生 QQ:9073204 深圳
- 5.3.1.1 ChainMap的例子和技巧
- 5.3.1 ChainMap对象
- ChainMap用法
- github和git的使用技巧和例子
- 30个非凡的CSS技巧和例子
- CSS布局教程、技巧例子和实践
- shell 变量设置的技巧及例子
- SAP的一些用法技巧及例子
- css布局:40个教程、技巧、例子和最佳实践
- CSS 布局:40个教程、技巧、例子和最佳实践
- CSS 布局:40个教程、技巧、例子和最佳实践
- CSS 布局:40个教程、技巧、例子和最佳实践
- log4j的例子和教程
- setInput和keybd_event的例子
- Repeater 和分页的例子
- sscanf()的用法和例子
- 二进制文件和文本文件的例子
- NDK的文档和例子
- Android广播机制
- 关于DP单位的相关权威介绍
- 杭电oj-1115-Lifting the Stone
- h5拖动
- 数据结构课程设计---学生成绩管理系统
- 5.3.1.1 ChainMap的例子和技巧
- Eclipse右键New菜单项的自定义设置
- Ubuntu14.04+CUDA7.5+opencv3.0+MKL+Caffe配置
- Android中图片占用内存的计算
- Hexo从0到1——搭建属于自己的Blog
- 5.3.2 Counter对象
- Servlet容器响应Web客户请求流程
- LeetCode Remove Duplicates from Sorted Array
- iOS 国际化