浅尝WSGI

标签:Python

由于很多Python的web框架在Google App Engine上的性能都不太好,因此想自己去做个框架,便研究了一下WSGI协议。

这个协议实际上很简单,就是建立一个服务器,这个服务器接收一个callable的对象application。
每当有访问,服务器就将环境变量environ和输出header所用的start_response函数传给application。
而application需要从environ里找出访问参数,用start_response输出header,并返回一个iterable的对象。
服务器接收到这个对象后,就会将它输出给访问者。

解决了pyTenjin的IndentationError问题

标签:Python

前几天试用pyTenjin时遇到个奇怪的问题,if、for这种需要缩进的语句经常会出现这种错误:
IndentationError: unexpected indent
而且恼火的是,在一个页面这样写没问题,另一个页面用同样的结构就会出错,甚至只是多了个空行也会报错。
我翻遍了pyTenjin所有的文档,在Google上搜索了半天,仍没找到解决办法。

Python的闭包与nonlocal

标签:Python

熟悉JavaScript的程序员经常会在内部函数中访问外部函数的私有变量,方法非常简单,只要不用var重新声明该变量,那么JavaScript解释器就会在外层名字空间里寻找对应的变量。

可在Python中却不是这样,这让我非常头疼。简单来说,在Python 2.x中,闭包只能读外部函数的变量,而不能改写它。

« 看看还有什么好玩意