Я хочу добавить новый вход в список 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)
Определенно отправляйте больше кода. Это странная вещь, которую нужно попробовать, BTW. Почему бы просто не инициализировать вашу переменную до []? –
Просто не пишите код, вызывающий 'NameError', потому что он не определяет переменную в определенном коде. Например, инициализируйте его значением по умолчанию (здесь, '[]'). Добавленный вами фрагмент работы, кстати, и если не происходит каких-то серьезных потоков, я не думаю, что он не может * работать ... – delnan
@ Ned Batchelder: Если я делаю SESSION_U = [], то каждый раз, когда пользователь отправляет новый текст из формы, опущенной SESSİON_U. Я хочу сохранить строки сеанса в SESSİON_U; поэтому я хочу добавить строку к ней, не удаляя ее содержимое. Как мне это сделать? Благодарю. – Zeynel