在 IronPython for ASP.NET 中改写 print 以方便调试

python 语言中最方便的莫过于 print 语句,搭配 dir() 等函数,能随时查看对象的属性,内容等。而 IronPython for ASP.NET 的环境下 print 是不会显示出来的。用下面的办法,可以改写输出流到 web 页面上。

先在 App_Script 目录下建立一个 debug.py,内容如下:

#coding:utf-8

import sys
from System.Web import HttpContext

class Log(object):
    
def __init__(self):
        self.response 
= HttpContext.Current.Response
    
    
def write(self, data):
        self.response.Write(data)
        
def start_debug():
    sys.stdout 
= Log()
        
if __name__ == '__main__':
    start_debug()
    
print "test"
    

这样就把输出流重定向到了 Response.Write 上。
在具体页面中,这样调用:

import debug
debug.start_debug()
print '测试输出'

输出结果会在网页上显示出来。

posted on 2007-07-16 11:29  NeilChen  阅读(1007)  评论(2编辑  收藏  举报

导航