修复后的代码为:

t = [executor.submit(check_domain_availability, i.strip() + '.com') for i in lines]

该修复将原代码中错误的生成器表达式更改为列表推导式,确保每个任务都被提交到 Executor 中。这样可以实现并发执行,提高代码效率。

解释:

  • 原代码使用 executor.submit(check_domain_availability, i.strip() + '.com' for i in lines),这是一个生成器表达式,这意味着它不会立即创建所有任务,而是按需生成。当 executor.submit 被调用时,它只接受一个参数,因此 for 循环中的第一个元素被传递给 check_domain_availability 函数,而其他元素则被忽略。

  • 修复后的代码使用 [executor.submit(check_domain_availability, i.strip() + '.com') for i in lines],这是一个列表推导式,它会创建一个包含所有任务的列表。每个任务都会被单独提交给 executor.submit 函数,从而确保所有任务都能够并发执行。

总结:

使用 Executor 来并发执行多个任务可以有效提高代码效率。在使用 Executor 时,需要注意使用列表推导式而不是生成器表达式,确保每个任务都被单独提交。

Python 并发执行任务:使用 Executor 提交多个任务

原文地址: https://www.cveoy.top/t/topic/oxZC 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录