2011-04-14 15 views
2

我有一個非常簡單的程序,檢查日期和回報,如果合併個月+日+年是所謂的快樂數(一些衛生組織平方的總和其數字等於1)。
當我通過python在本地運行它時,程序工作正常,但是當我試圖通過appengine在本地或聯機上運行它時,沒有任何內容會顯示,而是顯示一條測試打印行。
我不明白爲什麼appengine不會顯示該功能。AppEngine上不會顯示Python函數

任何幫助或建議將非常感激,因爲我卡住了。
的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,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" 

回答

5

你不能在一個CGI腳本只是printstdout;您必須首先發送標題,後跟一個空行。您的輸出被您的瀏覽器解釋爲HTTP標頭,而不是正在打印。

你幾乎肯定希望使用某種WSGI框架來爲你處理這個問題。

+0

謝謝!我打算潛入Django,但至少想知道該程序是否先在線上正常運行。 – PFlans 2011-04-14 18:36:17

+0

+1另一個'PRINT'受害者:) – systempuntoout 2011-04-14 20:02:34

+0

如果你只是想檢查功能,你可以使用'import logging','logging.debug(「Happy day」)''。 – hyperslug 2011-04-14 22:24:37