我在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嘗試了這一點,並且在部署失敗時如上所述。有任何想法嗎?
如果'splitlist [0]'打印出整個文本文件,那麼'splitlist [0] [0]'應該返回第一個字符,而不是失敗。你說在寫出「應該是什麼」時失敗了。你能解釋一下它應該是什麼以及這個文件是什麼樣的? (我也建議在打開時指定'r'或'rU'作爲你的文件模式。) – bossylobster
不要告訴我們「它失敗」,告訴我們堆棧跟蹤。請不要讓我們猜猜發生了什麼問題。 –