【发布时间】:2021-11-17 07:49:21
【问题描述】:
我正在从检查系统上的多个摄像头捕获小部件的图像。如果检查不成功,则不会保存图像。图像以小部件的序列号命名。
所以我的文件夹结构可能看起来像
- 相机1
- 1.tif
- 2.tif
- 4.tif
- 相机2
- 2.tif
- 3.tif
- 4.tif
- 相机3
- 1.tif
- 2.tif
- 3.tif
- 4.tif
我希望能够删除所有三个文件夹中都不匹配的图像。我不介意两次运行该解决方案,一次在相机 1 和相机 2 之间,然后再次使用相机 2 和相机 3。
我希望只剩下以下文件夹结构。
- 相机1
- 2.tif
- 4.tif
- 相机2
- 2.tif
- 4.tif
- 相机3
- 2.tif
- 4.tif
每个文件夹中有大约 12,000 个文件供分析,可能有 2%-3% 的错误需要删除才能继续分析。
我不介意需要付款、python、命令行等的预打包解决方案。
非常感谢!
【问题讨论】:
-
没有downvote your question because no attempt was made,因为你是一个新的贡献者,但通常我们希望你至少提出一个honest attempt at the solution,然后然后问具体问题) 关于您的实施。
-
首先您必须阅读所有文件名。接下来,您应该使用此文件名创建带有
{"1.tif":["Camera1", "Camera3"], "2.tif":[...]}等列表的字典,接下来您应该检查列表中哪些文件名的值少于 3 个,然后您可以从这些文件夹中删除这些文件名。 -
既然在内存中加载几个列表文件的数量不会引起问题,那么如何使用文件夹的内容创建3个集合,确定这三个集合的交集,然后删除原始列表中的那个交集。这样一来,您就剩下三组,可以准确地告诉您需要在每个文件夹中删除哪些文件。
标签: python windows batch-file delete-file