Можно ли в Python определить город по коду аэропорта
Можно ли в Python определить город по коду аэропорта, например ATL?
from pyairports.airports import Airports
airports = Airports()
airports.airport_iata(iata) # namedtuple(airport, [name, city, country, iata, icao, lat, lon, alt, tz, dst, tzdb]) or AirportNotFoundException
airports.other_iata(iata) # namedtuple(other, [iata, name, country, subdiv, type, lat, lon]) or AirportNotFoundException
airports.lookup(iata) # namedtuple(airport) or namedtuple(other) or AirportNotFoundException
Ответы (2 шт):
В библиотеке которую вы используете данные выдаются в виде:
tuple(airport, [name, city, country, iata, icao, lat, lon, alt, tz, dst, tzdb])
а значит что к каждому (airport) , привязан его [name, city, country] , с данной библиотекой я не работал но тут кортеж в котором есть массив с нужными вам данными, просто достаньте их используя ключевые слова для поиска, что-то вроде:
if (user == tuple): // аэропорты будут указаны в виде их кода.
print(tuple[city]) // а города это данные в массиве, значит все корректно.
это грубый пример, просто чтобы была ясна общая картина.
для лучшего ознакомления с тем что вы используйте, советую покопаться тут: https://github.com/NICTA/pyairports
Модуль надо предварительно поставить:
pip install pyairports
Дальше используете практически как в вашем примере:
from pyairports.airports import Airports
iata = 'SVO'
airports = Airports()
airport = airports.airport_iata(iata)
print(airport.city)
Вывод:
Moscow