Python 多线程功能

Python 多线程功能,python,multithreading,python-3.x,Python,Multithreading,Python 3.x,我正在使用Python3向我的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) my

我正在使用Python3向我的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发出请求


例如,在从文件中获取行数以生成线程并将每行的内容发送到函数之后,是否可能?

是的,这对于软件包来说非常简单

您需要一个可以在
lista
中的每个
dab
上直接调用的函数,类似于:

def dabify(dab):
    sdab = dab.split(':')
    login = sdab[0]
    senha = sdab[1]
    myfunction(login,senha)
然后,您可以使用多处理池对
lista
的每个元素调用
dabify

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被调用的顺序不再有保证。

您好,我想我的问题结构不好。我想做的是:我有一个函数,它为我的api执行发布请求,例如:postdata={'login':login,'password':password}requests.post('myapi',data=postdata),然后我打印结果。问题是我需要这样做上百次,我需要一个接一个地测试(我使用open('file'),因为这样),我需要的是它一次发送多个请求,我不知道如何做,谢谢你的回复。是的,这应该就是上面所做的,如果我理解正确的话。假设
myfunction
为您的api发出发布请求,那么上面的代码一次最多会发送4个请求(如果您更改
processs=4
),则会发送更多请求!问题是我需要发送文件中的每一行(不需要按顺序),每一行都不同,txt文件是(例如):fulano:detal cicrano:deltora23我需要更快地发送每一行,就像一次发送5行一样,是吗?抱歉,我仍然不明白这与上面的代码有什么不同
dabify
将在每一行上以几个并行进程运行,您可以对其进行修改,以便对每一行执行任何操作。