Appengine将不会显示Python函数

问题描述

| 我有一个非常简单的程序,它检查日期并返回月,日,年的总和是否是所谓的快乐数字(数字的平方之和等于1)。 当我通过python在本地运行该程序时,该程序运行良好,但是当我尝试通过本地或在线的appengine运行该程序时,仅显示一条TEST打印行,但未显示任何内容。 我无法弄清楚为什么appengine无法显示功能。 如果您遇到任何帮助或建议,我们将不胜感激。 appengine日志显示GET请求:
\" INFO     2011-04-14 18:19:14,981 dev_appserver.py:3317] \"GET / HTTP/1.1\" 200 -\"
但是事后没有。
import sys
import datetime

def main():
    date = datetime.date.today()
    datearray=[0,0]
    datearray[0]=str(date.month)
    datearray[1]=str(date.day)
    datearray[2]=str(date.year)
    joined = \'\'.join(datearray)
    print \"Date:\",int(joined)
    print happynums(int(joined))

def happynums(num):
    total = int(num)
    varnum = 0
    bin=0    
    x=0
    past=set()

    while total!=1:
        if total in past:
            return \"Sad day :(\"
        past.add(total)
        list = map(int,str(total))
        total=0
        for i in list:
            total = total + i**2
        if total==1:
            return \"Happy day :)\"

if __name__ == \'__main__\': 
    main()
    print \"TEST\"
    

解决方法

您不能在CGI脚本中简单地将
print
转换为
stdout
。您必须先发送标头,然后发送空白行。浏览器将您的输出解释为HTTP标头,并且不打印。 您几乎肯定要使用某种WSGI框架来为您处理此问题。