原文件夾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