Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 21, 2013 15:27:37

incubus370
Зарегистрирован: 2013-06-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Рекурсия и ошибка global name 'ххх' is not defined

Написал такую рекурсивную функцию. Должна пробегать все вложенные в друг друга словари и списки в поисках строк и заменяет содержимое строки используя регулярные выражения

def tree_replace(repobj):
global tree_replace
if isinstance(repobj, (str, unicode)):
repobj=re.sub(rule[1], rule[2], unicode(repobj))
if isinstance(repobj, dict):
for key in repobj.keys():
tree_repalce(repobj[key])
if isinstance(repobj, list):
for listobject in repobj:
tree_repalce(listobject)

При попытке вызвать ее получаю такую штуку:
NameError: global name ‘tree_replace’ is not defined

Уже выкурил кучу инфы и нигде не нашел ответа. Последняя надежда на вас.

Офлайн

#2 Июнь 21, 2013 15:31:56

Singularity
Зарегистрирован: 2011-07-28
Сообщения: 1387
Репутация: +  75  -
Профиль   Отправить e-mail  

Рекурсия и ошибка global name 'ххх' is not defined

Убери

global tree_replace

Офлайн

#3 Июнь 23, 2013 15:15:58

incubus370
Зарегистрирован: 2013-06-21
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Рекурсия и ошибка global name 'ххх' is not defined

Singularity
Убери
global роли не играет. Не работает ни с global ни без него

Офлайн

#4 Июнь 23, 2013 15:23:53

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Рекурсия и ошибка global name 'ххх' is not defined

tree_replace
tree_repalce

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version