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)
  • 相关阅读:
    asp.net文件操作类
    MSMQ是什么?
    Type.GetType()在跨程序集反射时返回null的解决方法
    ASP.NET反射
    VS单元测试入门实践教程
    详解Linq to SQL
    .Net资源文件全球化
    正则表达式使用详解
    C# 中的委托和事件详解
    python基础
  • 原文地址:https://www.cnblogs.com/aomi/p/7019665.html
Copyright © 2011-2022 走看看