Форум сайта python.su
Есть кусок кода:
for line in p_data: try: (cod, prod, price, count, descr) = line.split(';') except: continue finally: # check if product code already have in db cursor.execute("select count(*) from t_products where product_code = {0}".format(cod))
cursor.execute("select count(*) from t_products where product_code = {0}".format(cod)) UnboundLocalError: local variable 'cod' referenced before assignment
Офлайн
try: assert True==False a=10 except: pass finally: print a
Офлайн
да, пожалуй логичнее было бы сделать:
for line in p_data: try: (cod, prod, price, count, descr) = line.split(';') cursor.execute("select count(*) from t_products where product_code = {0}".format(cod)) except: continue
Отредактировано asphix (Июль 4, 2012 14:56:40)
Офлайн
FishHookА что логичного-то? Кто-то может обьяснить, как это работает?
Что, собственно, логично
Офлайн
odnochlenБлок finaly в try выполняется в любом случае, неважно было исключение или не было. В приведенном примере исключение бросается в строкеFishHookА что логичного-то? Кто-то может обьяснить, как это работает?
Что, собственно, логично
assert True==False
Офлайн