标题利用python实现两个功能:
1 删除重复文件:通过filecmp比较文件内容是否相同进行操作
2 归类文件:通过文件后缀名进行归类
import os
import glob
import shutil
import filecmp
from tqdm import tqdm
def fun1(path):
"""剔除重复文件"""
file_lst = []
for i in glob.glob(path + '/**/*', recursive=True):
if os.path.isfile(i):
file_lst.append(i)
for x in file_lst:
for y in file_lst:
if x != y and os.path.exists(x) and os.path.exists(y):
if filecmp.cmp(x, y):
os.remove(y)
print("del {}".format(y))
def fun2(path):
"""归类文件"""
savepath = {
"else": r"C:\Users\yejx\Desktop\wechatfiles\else",
"excel": r"C:\Users\yejx\Desktop\wechatfiles\excel",
"pdf": r"C:\Users\yejx\Desktop\wechatfiles\pdf",
"word": r"C:\Users\yejx\Desktop\wechatfiles\word",
"zip": r"C:\Users\yejx\Desktop\wechatfiles\zip",
"images": r"C:\Users\yejx\Desktop\wechatfiles\images",
"ppt": r"C:\Users\yejx\Desktop\wechatfiles\ppt",
}
file_lst = []
for i in glob.glob(path + '/**/*', recursive=True):
if os.path.isfile(i):
file_lst.append(i)
for i in tqdm(file_lst):
suffix = i.split("\\")[-1].split('.')[-1]
if suffix == 'pdf':
shutil.move(i, savepath["pdf"])
elif suffix == 'zip' or suffix == 'rar' or suffix == '7z':
shutil.move(i, savepath["zip"])
elif suffix == 'xlsx' or suffix == 'xls' or suffix == 'csv':
shutil.move(i, savepath["excel"])
elif suffix == 'gif' or suffix == 'jpg' or suffix == 'png' or suffix == "webp":
shutil.move(i, savepath["images"])
elif suffix == 'docx' or suffix == 'doc':
shutil.move(i, savepath["word"])
elif suffix == 'pptx' or suffix == 'ppt':
shutil.move(i, savepath["ppt"])
else:
shutil.move(i, savepath["else"])
if __name__ == '__main__':
path = ""
fun1(path)
fun2(path)