[ create a new paste ] login | about

Link: http://codepad.org/naNdHyoY    [ raw code | fork ]

Python, pasted on Apr 10:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
## 允许加载的类型,注意,这里是严重依赖python版本的,下面列出的是py2.5情况
_ALLOW_TYPES = [
    types.BooleanType,                      ## 布尔值
    types.StringType, types.UnicodeType,    ## 字符
    types.IntType, types.LongType,          ## 整数
    types.FloatType,                        ## 浮点数
    types.ListType, types.TupleType,        ## 列表 无set!!
    types.DictType,                         ## 哈希
    types.FunctionType, types.LambdaType,   ## 函数值
    types.ComplexType,      ## 可以考虑关闭
    types.ClassType,        ## 可以考虑关闭
]

def _install(env, cover=True):
    """加载所有值到指定的环境里,条件是类型在_ALLOW_TYPES里并且不是_开头的"""
    assert type(env) == types.DictType, 'env should be dict type'
    to_loads = [(k,v) for (k,v) in globals().items() if type(v) in
                    _ALLOW_TYPES and not k.startswith('_')]
    to_loads = to_loads if cover else [(k,v) for k,v in to_loads if k not in env]
    env.update(dict(to_loads))


Create a new paste based on this one


Comments: