2011-12-09 55 views
0

我在Google App Engine上遇到了一個很奇怪的問題。我有一個小文本文件,它的311kbs。裏面的文本需要解析。我的代碼工作正常運行本地,但是當我推出GAE,它失敗。我已經縮短到下面的簡單例子,以顯示什麼時候休息。下面的代碼在寫出splitlist [0] [0]中的內容時失敗了,有趣的是,如果嘗試splitlist [0]它會打印出整個文本文件。Google App Engine,處理Python列表 - 訪問列表索引時出錯[0] [0]

import webapp2 
import os, re 

#Load the text file... 
file = os.path.join(os.getcwd(), 'TextFileEN.txt') 
openfile=open(hymnfile) 
text=openfile.read() 
#List for split text 
splitlist=[] 

#Split text on the consistent 4 carriage returns. 
textsplit=splitlist.append(text.split('\n\n\n\n')) 

class MainPage(webapp2.RequestHandler): 
    def get(self): 
     self.response.headers['Content-Type'] = 'text/plain' 
     self.response.out.write(splitlist[0][0]) 

app = webapp2.WSGIApplication([('/', MainPage)], debug=True) 

這種模式由splitlist.append(text.split())命令創建[[ 「ITEM1」, 「ITEM2」, 「項目3」,]]當我運行它的地方,並且我可以像這樣splitlist [0] [0]給我「item1」。我已經在應用程序引擎上用Python25和Python27嘗試了這一點,並且在部署失敗時如上所述。有任何想法嗎?

+1

如果'splitlist [0]'打印出整個文本文件,那麼'splitlist [0] [0]'應該返回第一個字符,而不是失敗。你說在寫出「應該是什麼」時失敗了。你能解釋一下它應該是什麼以及這個文件是什麼樣的? (我也建議在打開時指定'r'或'rU'作爲你的文件模式。) – bossylobster

+0

不要告訴我們「它失敗」,告訴我們堆棧跟蹤。請不要讓我們猜猜發生了什麼問題。 –

回答

0

上傳時,文本文件可能發生了什麼變化?

看起來split並不認可'\ n \ n \ n \ n'。

+0

我想上傳時的格式發生了什麼我只是無法弄清楚什麼:)在你和bossylobster之間,我想出了它,我忘記了'rU'的標誌,並且讓我超過了這個錯誤。 – GetFuzzy