如何为放置在循环中的变量设置异常,每次变量在 python 脚本中更改时调用并执行单独的 Url?

How to put an exception for a variable placed in a loop which call and executes a separate Url each time the variable changes in a python script?

我想在值 station= item[101] 的循环中放置一个异常。基本上,循环针对 "station" 的值运行,并且此 "station" id 值每次都会更改 url1。仅对于 id 为 101 的站的值,他 url1 没有 return 任何东西,因此最终循环中断并且我得到 "output['data']" 的 KeyError: 'data'。 循环的形式应忽略 station=101 值并移动到下一个值,并使用 url 中定义的 "str(station)" 中的下一个值调用 url 1.

import urllib2
import json

url="http://ewodr.wodr.poznan.pl/doradztwo/swd/swd_api.php?dane={%22token%22:%22pcss%22,%22operacja%22:%22stacje%22}"
# open the url 
json_obj= urllib2.urlopen(str(url))
output= json.load(json_obj)
 
station_res= output ['data'] ['features']
for item in station_res:

 station= item['id']
 
url1="http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:" +str(station)+ "}"  
 json_obj2= urllib2.urlopen(str(url1))
 output2= json.load(json_obj2)
 for item2 in output2 ['data']:
  print output2['data']

捕获异常可以用 Try/Except

这是您的代码的样子:

import urllib2
import json

url="http://ewodr.wodr.poznan.pl/doradztwo/swd/swd_api.php?dane={%22token%22:%22pcss%22,%22operacja%22:%22stacje%22}"
# open the url
json_obj= urllib2.urlopen(str(url))
output= json.load(json_obj)

station_res= output ['data'] ['features']
for item in station_res:
    station= item['id']
    url1="http://ewodr.wodr.poznan.pl/doradztwo/swd/meteo_api.php?dane={%22token%22:%22pcss%22,%22id%22:" +str(station)+ "}"
    json_obj2= urllib2.urlopen(str(url1))
    output2= json.load(json_obj2)
    try:
        for item2 in output2 ['data']:
            print output2['data']
    except KeyError:
        pass

这将捕获任何 KeyError 异常并继续。