Регистрация
Войти
Стать экспертом Правила
Информатика

недавно начал изучать python и решил написать программу типа погода всё сделал правильно библиотеку установил версия 3.0.0 версия python 3.8.5но выскакивает ошибка Traceback (most recent call last):File "C:/Users/___/123.py", line 5, in observation = owm.weather_at_place(gorod)AttributeError: 'OWM' object has no attribute 'weather_at_place'долго искал в интернете но это не помогло с чем связана ошибка и как её исправитьисходный кодimport pyowmgorod = input('Выберите город'"n")owm = pyowm.OWM('мой id owm')observation = owm.weather_at_place(gorod)w = observation.get_weather()temperature = w.get_temperature('celsius')['temp']print("В городе " + gorod + " сейчас " + str(temperature) + "°С")

ОТВЕТЫ

С вероятнее всего, вы написали свой скрипт по каким то старым гайдам, информация в которых давным давно устарела. В текущей версии API OpenWeatherMap объектне имеет атрибута

В текущей версии API объектимеет метод , возвращающий . Уже у этого объекта мы можем вызвать метод , который опять же вернёт нам очередной объект, . Умы можем обратиться к атрибуту , уже у которого вызываем метод , который нам наконец-таки вернёт словарь с данными о температуре в указанной области.

Я храню все API и прочее в отдельном .py файле

Получаем API_KEY из файла настроек

Создаём экземпляр OWM

#Получаем WeatherManager

#Получаем Observation в для указанного city:

#Обращаемся к атрибуту weather объекта obs (Observation) и #вызываем метод temperature, тем самым получая заветные данные о #температуре. В квадратных скобках указываем ключ 'temp', что бы #получить только данные о текущей температуре:

902
Контакты
Реклама на сайте
Спрошу
О проекте
Новым пользователям
Новым экспертам