我必须编写产生3个线程的Python程序。将ID作为参数传递给每个线程(编号1到3)。在每个线程中,调用以下JSON端点,将{ID}替换为传递给线程的ID。
https://jsonplaceholder.typicode.com/posts/ {ID}
在将JSON字符串返回到主线程之前,将其解析为每个线程中的dict。将所有子线程的结果合并到主thread.my代码中的列表中,如下所示
import threading
import requests
import json
import queue
q = queue.Queue()
def main():
th_list=[]
for i in range(1,4):
t = threading.Thread(target=call_url, args=(i,q))
th_list.append(t)
print(th_list)
for thread in th_list:
thread.start()
#for thread in th_list:
#print(thread.join())
print(q.get())
def call_url(i,q):
url='https://jsonplaceholder.typicode.com/posts/' + str(i)
response=requests.get(url)
o_dict=json.loads(response.content)
q.put(o_dict)
if __name__=='__main__':
main()
但结果却让我None
。任何帮助将不胜感激。