from urllib.request import urlopen def plantilla_url(plantilla): def abrir(**kwargs): return urlopen(plantilla.format_map(kwargs)) return abrir clima = plantilla_url('https://samples.openweathermap.org/data/2.5/forecast?id={id}&appid=b1b15e88fa797225412429c1c50c122a1') for linea in clima(id='524901', appid='b1b15e88fa797225412429c1c50c122a1'): print(linea.decode('utf-8'))