原文件夹A,B,新文件夹C,下图中的情况以图片为例
A:00001.jpg 00002.jpg 00003.jpg 00147.jpg
B : 00001.jpg 000000002.jpg 00147.json
第一种情况:找出两文件夹下相同内容的文件,保存并输出到文件夹C
思路:判断内容是否一致,因此需要读取整个文件,判断两者是否一样
由于文件内容错综复杂,而其md5是唯一的,如果两者内容一致,则两者的md5值应该为一样。由于图片是二进制存储,在读取时采用‘rb’。这里是对文件内容进行md5值处理。每个文件名的类型是str格式。将A文件下的文件生成字典,判断B文件下的文件是否在A生成的字典中,如果存在,就将其存在新文件夹C下。
代码为:
第二种情况:如果A、B文件夹里的文件名一致,不care其内容是否一致,如果文件名一致就保存在新文件夹下。和情况一的区别在于这里是对文件名进行md5处理。
需要对filename进行编码,如果不加编码方式会报错。
第三种情况:B中的文件名和A文件夹下的文件名优关系,比如A文件jian夹下的000147.jpg,B文件夹下的000147.json,需要根据字符串提取的方式进行判断是否有内容一致
要根据实际情况做出相应的调整。
参考文章链接:https://zhidao.baidu.com/question/984682642027858179.html
原文地址:https://www.cnblogs.com/wclqiqi/p/9098073.html
时间: 2024-10-26 02:03:39