1、背景
路径为D:\01的文件夹,下面有子目录,子目录下面还有文件夹,文件夹内有多个TXT文件,文件名含中文。
2、需求
根据TXT文件内容查找出重复文件,请注意:不是比对MD5或文件名,需要比对TXT内容。之后,删除重复的文件到回收站。
请教学习,万分感谢。
dirname = r'C:\Users\Administrator\Desktop\test'
import os
import send2trash
def del_file(filename):
send2trash.send2trash(filename)
def getCon(filename_):
with open(filename_, 'r', encoding = 'utf-8') as f:
content = f.read(50)
return content
def find_txt(dir_):
for i in os.listdir(dir_):
cur_dir_file = os.path.join(dir_, i)
if os.path.isdir(cur_dir_file):
find_txt(cur_dir_file)
else:
if (os.path.splitext(cur_dir_file)[1]).lower() == '.txt':
filename = os.path.join(dir_, cur_dir_file)
content = getCon(filename)
if d.get(i, '') == content:
del_file(filename)
else:
d[i] = content
d = {}
find_txt(dirname)