我正在编写一个脚本,以发送带有从JSON文件中加载的一些数据的发布请求。
JSON:
[
{
"title": "Mr",
"firstname": "Joe",
"lastname": "Blogs",
"phonenumber": 7901893333
},
{
"title": "Miss",
"firstname": "Jane",
"lastname": "Wang",
"phonenumber": 7901894444
},
{
"title": "Mrs",
"firstname": "Rosie",
"lastname": "Thomas",
"phonenumber": 7901895555
}
]
代码:
import requests
import json
import threading
with open('data.json', encoding='utf-8') as data_file:
data = json.loads(data_file.read())
def send_info():
url = 'http://ptsv2.com/t/e092q-1537974317/post'
payload = {
'titleCode': data[0]["title"],
'firstName': data[0]["firstname"],
'lastName': data[0]["lastname"],
'cellPhone': data[0]["phonenumber"]
}
r = requests.post(url, params=payload)
print(r.text)
threads = []
for i in range(len(data)):
t = threading.Thread(target=send_info)
threads.append(t)
t.start()
目前所有线程都在使用'data [0]'。
我如何让一个线程使用“ data [0]”,下一个线程使用“ data [1]”,下一个线程使用“ data [2]”?
答案 0 :(得分:1)
from multiprocessing import Pool
def f(x):
return x*x
if __name__ == '__main__':
p = Pool(5)
print(p.map(f, [1, 2, 3]))
[1、2、3]是要用作f()方法输入的参数数组。