这是一个创建于 2334 天前的主题,其中的信息可能已经有所发展或是发生改变。
```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
![Sanko](https://cdn.v2ex.com/avatar/c4b5/26d6/172088_normal.png?m=1710842602) |
|
1
Sanko 2018-01-23 18:56:27 +08:00 via Android
|
![Humorce](https://cdn.v2ex.com/gravatar/c8d86c1310e1c7d9cd5ea78e6f61b7f9?s=48&d=retro) |
|
2
Humorce 2018-01-23 18:59:13 +08:00 via iPhone
删除部分还是手工操作好
|
![Humorce](https://cdn.v2ex.com/gravatar/c8d86c1310e1c7d9cd5ea78e6f61b7f9?s=48&d=retro) |
|
3
Humorce 2018-01-23 19:00:53 +08:00 via iPhone
忘说了程序我用的是 visipics
|
![ELLIA](https://cdn.v2ex.com/avatar/70a4/2c03/180212_normal.png?m=1716005776) |
|
4
ELLIA 2018-01-23 20:25:43 +08:00
|
![JohnChu](https://cdn.v2ex.com/gravatar/597f01c617b5cc7c75f04133321cabf4?s=48&d=retro) |
|
5
JohnChu 2018-01-23 20:32:15 +08:00 via iPhone
楼主是用 md5 检测的?
|
![qgswzmz](https://cdn.v2ex.com/gravatar/bdc720d3024e3b3c0a10fb75c8fe9ee7?s=48&d=retro) |
|
6
qgswzmz 2018-01-23 20:59:49 +08:00 via Android
有个 vsduplicateimagefinder pro 网上找找有破解 曾经用过的 感觉结果还行
|