Найти - Пользователи
Полная версия: Ошибка object is not callable
Начало » Python для новичков » Ошибка object is not callable
1
XeNoLL
Добрый вечер.
Интересует решение ошибки вида:
itemDesc.replace(';', '')
TypeError: 'NoneType' object is not callable
Думаю решение элементарное, но т.к. новичек в питоне, исправить ни как не могу…
magnet85
Объект itemDesc не является строкой, проверить так:
type(itemDesc)
XeNoLL
magnet85
Это я понимаю, но как это исправить?
пробовал конвертировал itemDesc в строку, чем она и является, но ошибка не пропадает…
XeNoLL
XeNoLL
Попробовал вывел type(itemDesc)
Получилось:
<class 'BeautifulSoup.Tag'>
Чтобы это значило? и как мне это переправить в обычную строку?
magnet85
Я с BeautifulSoup не работал смотри документацию,
вот так попробуй
itemDesc.__str__().replace(';', '')
XeNoLL
magnet85
Я с BeautifulSoup не работал смотри документацию,
вот так попробуй
itemDesc.__str__().replace(';', '')
Огромное спасибо, все работает.
bw
Версию “супа”, traceback, и код (с данными) на которых воспроизводится ошибка в студию иначе любые ответы это гадание на кофейной гуще. За “itemDesc.__str__()” надо убивать, но если такой вариант устраивает, то делай как учат ещё в подготовительных классах: str(itemDesc).

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

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB