在文件夹中查找重复的文件名,然后将其移动到另一个文件夹

时间:2018-10-20 15:07:27

标签: python-3.x filenames glob hashlib

我的文件夹中有1000个jpg文件,其中包含一些重复的文件,并且重复的文件具有相同的名称+(2),如下所示:

21_201739 (2).jpg
21_201739.jpg 
21_201781.jpg
and so on...

我需要找到所有重复的文件名,并将它们剪切并移动到另一个文件夹。例如,我需要剪切

21_201739.jpg & 21_201739 (2).jpg

并将它们移动到另一个文件夹

据我所知,我使用了以下脚本

import glob
import hashlib
import os

uniq = set()
for fname in glob.glob('*.jpg'):
with open(fname,"rb") as f:
    sig = hashlib.sha256(f.read()).digest() 
    if sig not in uniq:
        uniq.add(sig)
        print(fname)
    else:
        print(fname, " (duplicate)")

但结果令人失望:

21_201739 (2).jpg
21_201739.jpg  (duplicate)
21_201781.jpg  (duplicate)

我认为我做错了什么或错过了什么。拜托,你能帮我吗?

0 个答案:

没有答案