Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 6, 2011 18:29:23

XeNoLL
От:
Зарегистрирован: 2011-10-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка object is not callable

Добрый вечер.
Интересует решение ошибки вида:

itemDesc.replace(';', '')
TypeError: 'NoneType' object is not callable
Думаю решение элементарное, но т.к. новичек в питоне, исправить ни как не могу…



Отредактировано (Окт. 6, 2011 19:11:39)

Офлайн

#2 Окт. 6, 2011 18:46:05

magnet85
От:
Зарегистрирован: 2009-04-13
Сообщения: 91
Репутация: +  2  -
Профиль   Отправить e-mail  

Ошибка object is not callable

Объект itemDesc не является строкой, проверить так:
type(itemDesc)



Офлайн

#3 Окт. 6, 2011 18:50:43

XeNoLL
От:
Зарегистрирован: 2011-10-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка object is not callable

magnet85
Это я понимаю, но как это исправить?
пробовал конвертировал itemDesc в строку, чем она и является, но ошибка не пропадает…



Отредактировано (Окт. 6, 2011 19:08:45)

Офлайн

#4 Окт. 6, 2011 18:52:21

XeNoLL
От:
Зарегистрирован: 2011-10-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка object is not callable

XeNoLL
Попробовал вывел type(itemDesc)
Получилось:
<class 'BeautifulSoup.Tag'>
Чтобы это значило? и как мне это переправить в обычную строку?



Отредактировано (Окт. 6, 2011 19:11:04)

Офлайн

#5 Окт. 6, 2011 21:00:09

magnet85
От:
Зарегистрирован: 2009-04-13
Сообщения: 91
Репутация: +  2  -
Профиль   Отправить e-mail  

Ошибка object is not callable

Я с BeautifulSoup не работал смотри документацию,
вот так попробуй

itemDesc.__str__().replace(';', '')



Офлайн

#6 Окт. 6, 2011 21:56:28

XeNoLL
От:
Зарегистрирован: 2011-10-06
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка object is not callable

magnet85
Я с BeautifulSoup не работал смотри документацию,
вот так попробуй
itemDesc.__str__().replace(';', '')
Огромное спасибо, все работает.



Офлайн

#7 Окт. 9, 2011 08:10:48

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Ошибка object is not callable

Версию “супа”, traceback, и код (с данными) на которых воспроизводится ошибка в студию иначе любые ответы это гадание на кофейной гуще. За “itemDesc.__str__()” надо убивать, но если такой вариант устраивает, то делай как учат ещё в подготовительных классах: str(itemDesc).

p.s. Понял в чём дело, сам давно не пользуюсь BeautifulSoup. Обращение к атрибуту Tag'а, равносильно использованию метода find Tag'а (поиск первого дочернего элемента). Но так как ребёнка replace, то возвращается None, который, естественно, не является исполняемым/запускаемым. Для сериализации лучше бы использовать специализированные методы, нежели str.

..bw



Отредактировано (Окт. 9, 2011 08:25:57)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version