【问题标题】:OpenSkyApi: array of string or list of string?OpenSkyApi:字符串数组还是字符串列表?
【发布时间】:2016-12-01 14:04:49
【问题描述】:

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

我要使用这个功能

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

在文档中您可以看到:

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

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

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)

如何动态地传递该字符串数组?

附:该函数基本上是一个返回 JSON 对象的 REST API(例如):

{'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}

【问题讨论】:

    标签: python arrays string list api


    【解决方案1】:

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

    如果您超过了给出的速率限制,API 也将返回 None 下表。

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

    api.get_states(icao24=flights)
    

    将返回

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-01
      • 2010-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-11
      • 1970-01-01
      • 2017-06-01
      相关资源
      最近更新 更多