【发布时间】:2020-11-09 23:33:18
【问题描述】:
每当我使用我的(其他)多处理代码时,它都可以正常工作,但就我在脚本完成方面的反馈而言,例如“已完成 5 / 10 个文件”,我不知道如何调整我的代码以适应返回计数。基本上我想修改下面的代码以允许多处理。
所以我用
file_paths = r"path to file with paths"
count = 0
pool = Pool(16)
pool.map(process_control, file_paths)
pool.close()
pool.join()
在函数count += 1 and return count结尾处的process_control中
我猜等价的代码会是这样的
def process_control(count, file_path):
do stuff
count += 1
print("Process {} / {} completed".format(count, len(file_paths))
return count
file_paths = r"path to file with paths"
count = 0
for path in file_paths:
count = process_control(count, path)
类似的东西。我希望我的解释清楚。
【问题讨论】:
-
在主进程中尝试使用 for 循环的“pool.imap”或“imap_unordered”(如果需要,可以在单独的线程中)。在循环中,您可以增加计数器并打印计数。
标签: python