簡體   English   中英

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 ,控制台返回我什么。

日志告訴我:

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列表成為全局列表,並在函數外部聲明它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM