You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Multiprocessing Pool缺失一个进程问题求助

问题排查与解决

核心问题:任务列表长度不足

你的代码中filename_list的生成循环使用了range(1, PROCESS_NB),而PROCESS_NB = 8,range(1,8)会生成1,2,3,4,5,6,7这7个数值,导致任务列表里只有7个任务,进程池自然只会执行7个任务,不会处理第8个文件(对应data_8.tsv)。

修正方案

把循环范围改成range(1, PROCESS_NB + 1),这样就能生成1到8的完整序列,包含第8个文件的任务:

filename_list = []
for i in range(1, PROCESS_NB + 1):
    filename_list.append(["data_{}".format(str(i)), config])

额外优化点

  • 你在with open(...)代码块后手动调用了input_file.close()和preprocessed_file.close(),但with语句会自动管理文件句柄,执行完代码块后会自动关闭文件,这两行代码是冗余的,可以删除。
  • 如果preprocess函数处理的内容很大,一次性input_file.read()会把整个文件加载到内存,可能导致内存占用过高,建议逐行读取处理(如果业务逻辑允许)。

内容的提问来源于stack exchange,提问作者Atro_TLT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:52:12