我想追加新的輸入到列表SESSION_U而不刪除它的內容。我試試這個:用NameError處理異常
...
try:
SESSION_U.append(UNIQUES)
except NameError:
SESSION_U = []
SESSION_U.append(UNIQUES)
...
我認爲,在第一次嘗試我會得到NameError
和SESSION_U
列表將被創建和附加;第二次try
會起作用。但事實並非如此。你知道爲什麼嗎?如果這還不清楚,讓我知道,我會張貼腳本。謝謝。
編輯
# save string s submitted from form to list K:
K = []
s = self.request.get('sentence')
K.append(s)
# clean up K and create 2 new lists with unique items only and find their frequency
K = K[0].split('\r\n')
UNIQUES = f2(K)
COUNTS = lcount(K, UNIQUES)
# append UNIQUES and COUNTS TO session lists.
# Session lists should not be initialized with each new submission
SESSION_U.append(UNIQUES)
SESSION_C.append(COUNTS)
如果我把SESSION_U
和SESSION_C
K = []
他們的內容被刪除每次提交後;如果不;我得到NameError
。我正在尋找有關處理這種情況的標準方法的幫助。謝謝。 (我正在使用Google App Engine)
絕對發表更多的代碼。順便說一句,這是一件很奇怪的事情。爲什麼不把變量初始化爲[]? – 2010-11-05 16:05:26
只是不要編寫引發'NameError'的代碼,因爲它沒有在某個代碼路徑中定義一個變量。比如,將它初始化爲默認值(這裏是'[]')。你發佈的代碼片段的方式,除非有一些嚴重的線程正在進行,我不認爲它*不能*工作... – delnan 2010-11-05 16:30:50
@ Ned Batchelder:如果我做SESSION_U = []那麼每次用戶從SESSİON_U被清空的表單中提交新的文本。我想將會話字符串保存在SESSİON_U中;所以我想追加字符串而不刪除它的內容。我該怎麼做呢?謝謝。 – Zeynel 2010-11-05 17:09:31