@EbaRG

Ошибка когда написал код в python, что делать?

Код:

from pyowm import OWM
import telebot


owm = OWM('Ключ')
mgr = owm.weather_manager()
bot = telebot.TeleBot("Ключ")


@bot.message_handler(content_types=['text'])
def send_echo(message):
    
    observation = mgr.weather_at_place(place)
w = "observation.weather()"
temp = w.temperature('celsius') ["temp"]
    
answer = "В городе " + place + " сейчас " + w.detailed_status() + "\n"
answer += "Температура сейчас в районе" + str(temp) + "\n\n"
if temp < 10:
	answer +=" Сейчас очень холодно, одевайся тепло."
elif temp < 20:
	answer +=" Сейчас холодно, одевайся потеплее."
else:
    answer +="Температура норм, одевай что угодно."

bot.send_message(message.chat.id, answer)

bot.polling( none_stop = True )


Ошибка:

D:\Python>python test2.py
Traceback (most recent call last):
  File "D:\Python\test2.py", line 15, in <module>
    temp = w.temperature('celsius') ["temp"]
AttributeError: 'str' object has no attribute 'temperature'


Понимаю, что ошибка в str, но не знаю, как исправить, кто знает, помогите и желательно поподробнее, только начал изучать пайтон, по этому видосу (https://www.youtube.com/watch?v=fp5-XQFr_nk)
Тайм-код - 54:43

(телеграмм бот с погодой)
  • Вопрос задан
  • 131 просмотр
Решения вопроса 2
DMGarikk
@DMGarikk
Lead Software Developer
w = "observation.weather()"

кавычки лишние

но старайтесь хоть понимать что вы копипастите, это не просто "какието слова"
Ответ написан
Комментировать
HemulGM
@HemulGM Куратор тега Python
Delphi Developer, сис. админ
Потому что w = "observation.weather()" <- это СТРОКА. Текст ошибки не видишь? Или переводчиком не научили пользоваться?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы