gpt4 book ai didi

python - 多处理:如何在列表上使用 pool.map 并使用参数函数?

转载 作者:太空狗 更新时间:2023-10-30 02:55:20 26 4
gpt4 key购买 nike

我对 multiprocessing 和 map 函数有一些误解。

我将尝试简要描述:

首先,我有一个列表,例如:

INPUT_MAGIC_DATA_STRUCTURE = [
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
['https://github.com', 'Owner', 'Repo', '', '', '0', '0'],
]

我还有方法,目前使用特定的内部逻辑解析此列表:

def parse(api_client1, api_client2):
for row in INPUT_MAGIC_DATA_STRUCTURE:
parsed_repo_row = ... (some logic with row)
OUTPUT_MAGIC_DATA_STRUCTURE.append(parsed_repo_row)

最后,我发现有一些变体可以使其异步而不是 for

from multiprocessing import Pool
pool = Pool(10)
pool.map(<???>, INPUT_MAGIC_STRUCTURE)

??? – 我无法理解如何将我的 parse()for row in INPUT_MAGIC_DATA_STRUCTURE 传输到 >pool.map() 并传输其所有参数 — api_client1、api_client2。

你能帮帮我吗?

提前致谢。

更新:

我已经做了:

pool = Pool(10)
pool.map(parse(magic_parser, magic_staff), INPUT_MAGIC_DATA_STRUCTURE)

无论如何,当解释器到达第二行时,它会停止并只创建一个 parse() 方法实例(我看到已解析行的日志输出:1、2、3、4、5——一个接一个)。

最佳答案

(一些带行的逻辑)放在一个函数中:

def row_logic(row):
return result

将函数传递给Pool.map:

pool = Pool(10)
pool.map(row_logic, INPUT_MAGIC_DATA_STRUCTURE)

关于python - 多处理:如何在列表上使用 pool.map 并使用参数函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42749772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com