保留两个文件中文件名一样的文件,删除不一样的文件python代码
时间: 2024-01-11 17:02:10 浏览: 97
递归删除指定文件夹下重复文件,相同文件只保留一个
好的,下面给您提供一种实现方式:
```python
import os
# 定义两个文件夹路径
folder_path1 = "folder1"
folder_path2 = "folder2"
# 获取两个文件夹中的所有文件名
file_list1 = os.listdir(folder_path1)
file_list2 = os.listdir(folder_path2)
# 在第一个文件夹中保留与第二个文件夹中相同的文件,删除不同的文件
for file1 in file_list1:
if file1 in file_list2: # 如果在第二个文件夹中也存在该文件
file_path1 = os.path.join(folder_path1, file1)
file_path2 = os.path.join(folder_path2, file1)
if not os.path.isfile(file_path2): # 如果第二个文件夹中不存在该文件,则忽略
continue
if open(file_path1, "rb").read() == open(file_path2, "rb").read(): # 如果两个文件内容相同,则保留第一个文件,删除第二个文件
os.remove(file_path2)
else: # 否则删除第一个文件
os.remove(file_path1)
else: # 如果第二个文件夹中不存在该文件,则删除第一个文件
file_path1 = os.path.join(folder_path1, file1)
os.remove(file_path1)
```
以上代码会先获取两个文件夹中的所有文件名,然后在第一个文件夹中保留与第二个文件夹中相同的文件,删除不同的文件。其中,如果两个文件内容相同,则保留第一个文件,删除第二个文件;否则,删除第一个文件。
阅读全文