OpenSkyApi:字符串数组还是字符串列表?

时间:2016-12-01 14:04:50

标签: python arrays string list api

我正在使用OpenSkyApi(文档here)。

我想使用函数

get_states(time_secs=0, icao24=None, serials=None)

在文档上你可以看到:

  

返回:如果请求成功,则返回OpenSkyStates,否则为

这是我的代码实际上不起作用(功能返回无)

def get_flights():
  s = api.get_states()
  flights = []
  j = 0
  # I want just 5 best results of the first 10 elements returned with **api.get_states()**
  for i in range(10):
          tmp = s.states[i]
          if tmp.icao24 != "" and tmp.latitude != "" and tmp.longitude != "" and j < 5:
              flights.append(tmp.icao24)
              j += 1
  return flights

flights = get_flights()
s = api.get_states(icao24=flights)

实际上这段代码正常工作

flights = ['43ea96', 'aa8477', 'aa56da', 'a3e917', 'a52911']
s = api.get_states(icao24=flights)

print(s)

我怎样才能传递那个字符串数组?

P.S。该函数基本上是一个REST API,它返回一个JSON对象(例如):

{'altitude': 8001,
'callsign': 'FDX1162 ',
'heading': 317.58,
'icao24': 'a8f9f2',
'latitude': 39.1745,
'longitude': -103.8766,
'on_ground': False,
'origin_country': 'United States',
'sensors': None,
'time_position': 1480590928,
'time_velocity': 1480590928,
'velocity': 226.49,
'vertical_rate': -13}

1 个答案:

答案 0 :(得分:0)

感谢开放天空网络项目的合作者 fixje ,我修复了我的问题。 他告诉我:

  

如果您超出了中给出的费率限制,API也将返回无   下表。

           

enter image description here

     

在第一个代码段中,您在a中发出两个连续请求   很短的时间,所以第二个,

api.get_states(icao24=flights)
     

将返回