Python - 在循环内发出 https 请求时将项目附加到列表
Python - Append items to a list while making https requests inside a loop
我正在 for loop
中向 SPotify API
发出请求,如下所示:
track_ids = []
#get track_ids
for track in random.sample(pitchfork_tracks, 10):
results = sp.search(q=track, type='track') #here I call Spotify endpoint
items = results['tracks']['items']
for t in items:
track_ids.append(t['uri'])
return track_ids
我可以 print
每 t
好吧,但如果我尝试 return
track_ids
,请安慰 returns 我什么都没有。
日志告诉我:
2016-10-03 23:55:49 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): accounts.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "POST /api/token HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Rushes&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Opposite+House&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
看起来反复开始和结束连接与此有关...或者我在这里遗漏了一些明显的东西?
我该如何解决这个问题并设法构建我的 track_ids
list
?
track_ids
范围在您的函数内。要打印列表,您可以这样做
track_ids = yourfunction()
print track_ids
或
您可以使 track_ids
列表成为全局列表并在您的函数之外声明它。
我正在 for loop
中向 SPotify API
发出请求,如下所示:
track_ids = []
#get track_ids
for track in random.sample(pitchfork_tracks, 10):
results = sp.search(q=track, type='track') #here I call Spotify endpoint
items = results['tracks']['items']
for t in items:
track_ids.append(t['uri'])
return track_ids
我可以 print
每 t
好吧,但如果我尝试 return
track_ids
,请安慰 returns 我什么都没有。
日志告诉我:
2016-10-03 23:55:49 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): accounts.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "POST /api/token HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Rushes&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:50 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] DEBUG: "GET /v1/search?q=Opposite+House&limit=10&type=track&offset=0 HTTP/1.1" 200 None
2016-10-03 23:55:51 [requests.packages.urllib3.connectionpool] INFO: Starting new HTTPS connection (1): api.spotify.com
看起来反复开始和结束连接与此有关...或者我在这里遗漏了一些明显的东西?
我该如何解决这个问题并设法构建我的 track_ids
list
?
track_ids
范围在您的函数内。要打印列表,您可以这样做
track_ids = yourfunction()
print track_ids
或
您可以使 track_ids
列表成为全局列表并在您的函数之外声明它。