我正在使用Python 3向我的API发送请求。
我读了一个文件,每行使用函数
lista = open('mylist.txt', 'r').readlines()
lista = [dab.replace('\n', '') for dab in lista]
for dab in lista:
sdab = dab.split(':')
login = sdab[0]
senha = sdab[1]
myfunction(login,senha)
myfunction只是向我的api发出请求。
是否有可能,例如,从文件中获取行数来制作线程并将每行的内容发送到函数?
答案 0 :(得分:1)
是的,使用multiprocessing包非常简单。
您需要一个可以在dab
中的每个lista
上直接调用的函数,例如:
def dabify(dab):
sdab = dab.split(':')
login = sdab[0]
senha = sdab[1]
myfunction(login,senha)
然后,您可以使用多处理池在dabify
的每个元素上调用lista
:
from multiprocessing import Pool
pool = Pool(processes=4) # specify number of processes
for result in pool.imap_unordered(dabify, lista):
# do something with the result here if you want
pass
请注意,不再保证调用API的顺序。