zoukankan      html  css  js  c++  java
  • bottle框架学习(2):变量定义等

    try: from simplejson import dumps as json_dumps, loads as json_lds
    except ImportError: # pragma: no cover
        try: from json import dumps as json_dumps, loads as json_lds
        except ImportError:
            try: from django.utils.simplejson import dumps as json_dumps, loads as json_lds
            except ImportError:
                def json_dumps(data):
                    raise ImportError("JSON support requires Python 2.6 or simplejson.")
                json_lds = json_dumps
    
    
    
    # We now try to fix 2.5/2.6/3.1/3.2 incompatibilities.
    # It ain't pretty but it works... Sorry for the mess.
    
    py   = sys.version_info
    py3k = py >= (3, 0, 0)
    py25 = py <  (2, 6, 0)
    py31 = (3, 1, 0) <= py < (3, 2, 0)
    
    # Workaround for the missing "as" keyword in py3k.
    def _e(): return sys.exc_info()[1]
    
    # Workaround for the "print is a keyword/function" Python 2/3 dilemma
    # and a fallback for mod_wsgi (resticts stdout/err attribute access)
    try:
        _stdout, _stderr = sys.stdout.write, sys.stderr.write
    except IOError:
        _stdout = lambda x: sys.stdout.write(x)
        _stderr = lambda x: sys.stderr.write(x)

    这段代码,主要是有三块:

    第一部分,定义json的dumps和loads,尝试各个模块,如果都没有,就报错

    第二部分,确定python的版本

    第三部分通过lambda定义

    _stdout和_stderr

     _stdout = lambda x: sys.stdout.write(x)

    可以理解为:
      
    def _stdout(x):
      sys.stdout.write(x)
  • 相关阅读:
    CSS3美化网页元素
    表单
    列表,表格与媒体元素
    HTML5基础
    双列集合map-1
    单列集合List
    kafka-Eagle的安装
    kafka-自定义拦截器(interceptor)
    kafka-Consumer API
    kafka-Producer API
  • 原文地址:https://www.cnblogs.com/aomi/p/7019665.html
Copyright © 2011-2022 走看看