2024-05-15 17:21:01 发布
网友
我需要一种方法来检测一个巨大的收集(数以万计的图像)损坏的图像文件。我现在使用的方法是这样使用PIL:
try: im = PIL.Image.open(f) # image valid except: # image invalid ...
但那太慢了。检查所有文件要花上好几个小时,好几天。你知道吗
有没有一种更快的方法通过Python查找文件夹中的所有无效图像?你知道吗
不幸的是,imghdr是不够的,因为它不能检测到被截断的图像。你知道吗
imghdr
通过将问题中的代码包装到函数中,可以加快速度。然后列出所有要测试的文件名,并使用Pool.map模块中的multiprocessing将函数并行应用于所有文件,使用尽可能多的内核。你知道吗
Pool.map
multiprocessing
如果你的机器有N个核,这可以给你一个N倍的加速。实际上,由于multiprocessing开销和可能的I/O带宽限制,它将更少。你知道吗
通过将问题中的代码包装到函数中,可以加快速度。然后列出所有要测试的文件名,并使用
Pool.map
模块中的multiprocessing
将函数并行应用于所有文件,使用尽可能多的内核。你知道吗如果你的机器有N个核,这可以给你一个N倍的加速。实际上,由于
multiprocessing
开销和可能的I/O带宽限制,它将更少。你知道吗相关问题 更多 >
编程相关推荐