bottle框架学习:变量定义等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了bottle框架学习:变量定义等相关的知识,希望对你有一定的参考价值。

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)

以上是关于bottle框架学习:变量定义等的主要内容,如果未能解决你的问题,请参考以下文章

Bottle 框架源码学习 一

python web 开发框架之Bottle

Bottle 框架源码学习 三

Bottle 框架源码学习 二

python的WEB框架Bottle,它的默认模板好像不直接支持变量含有HTML标记,

python bottle 简介