这是一个创建于 2346 天前的主题,其中的信息可能已经有所发展或是发生改变。
```python
import os
import hashlib
import time
def main():
start = time.time()
file_del,file_num,md5_all,size_all = 0,0,[],[]
path = input('path:')
if os.path.isdir(path):
for root,dirs,files in os.walk(path):
for name in files:
file = os.path.join(root,name)
file_num += 1
size = os.path.getsize(file)
if size in size_all:
with open(file,'rb') as f:
md5 = hashlib.md5(f.read()).hexdigest()
if md5 in md5_all:
os.remove(file)
file_del += 1
else:
md5_all.append(md5)
else:
size_all.append(size)
else:
print('路径错误!')
end = time.time()
print('共扫描'+str(file_num)+'个文件')
print('共删除'+str(file_del)+'个文件')
print('共耗时'+str(end-start)+'秒')
if __name__ == '__main__':
main()
```
感觉我这样写会误删好多
6 条回复 • 2018-01-23 20:59:49 +08:00
|
|
1
Sanko 2018-01-23 18:56:27 +08:00 via Android
|
|
|
2
Humorce 2018-01-23 18:59:13 +08:00 via iPhone
删除部分还是手工操作好
|
|
|
3
Humorce 2018-01-23 19:00:53 +08:00 via iPhone
忘说了程序我用的是 visipics
|
|
|
4
ELLIA 2018-01-23 20:25:43 +08:00
|
|
|
5
JohnChu 2018-01-23 20:32:15 +08:00 via iPhone
楼主是用 md5 检测的?
|
|
|
6
qgswzmz 2018-01-23 20:59:49 +08:00 via Android
有个 vsduplicateimagefinder pro 网上找找有破解 曾经用过的 感觉结果还行
|