如何用python遍历检查文件夹中完全相同的文件,并输出文件路径
时间: 2024-05-12 12:16:09 浏览: 111
可以使用Python中的os库来遍历文件夹,并使用hashlib库计算文件的哈希值,以判断文件是否完全相同。以下是示例代码:
```python
import os
import hashlib
def find_duplicates(folder):
# 递归遍历文件夹
file_dict = {}
for root, dirs, files in os.walk(folder):
for filename in files:
filepath = os.path.join(root, filename)
# 计算文件哈希值
with open(filepath, 'rb') as f:
filehash = hashlib.md5(f.read()).hexdigest()
# 将哈希值相同的文件组织在一起
if filehash in file_dict:
file_dict[filehash].append(filepath)
else:
file_dict[filehash] = [filepath]
# 输出哈希值相同的文件路径
for key in file_dict:
if len(file_dict[key]) > 1:
print("以下文件完全相同:")
for filepath in file_dict[key]:
print(filepath)
print("")
```
然后在程序中调用该函数并传入要检查的文件夹路径即可:
```python
folder_path = "/path/to/folder"
find_duplicates(folder_path)
```
注意:由于文件的哈希值计算需要读取文件内容,因此该函数对于大型文件夹或文件过多的情况可能会耗费较长时间。建议在使用前备份重要文件。
阅读全文