不多说,直接贴代码
import os
def find_different_files(folder1, folder2):
# 获取两个文件夹中的所有文件
files1 = set()
for root, _, files in os.walk(folder1):
for file in files:
relative_path = os.path.relpath(os.path.join(root, file), folder1)
files1.add(relative_path)
files2 = set()
for root, _, files in os.walk(folder2):
for file in files:
relative_path = os.path.relpath(os.path.join(root, file), folder2)
relative_path = relative_path.rsplit('.', 1)[0]
files2.add(relative_path)
# 找出不同的文件
diff_in_1 = files1 - files2
diff_in_2 = files2 - files1
return diff_in_1, diff_in_2
# 示例使用
folder1 = 'train'
folder2 = 'val'
diff_in_1, diff_in_2 = find_different_files(folder1, folder2)
print(f"仅存在于 {folder1} 中的文件:")
for file in diff_in_1:
print(file)
print(f"仅存在于 {folder2} 中的文件:")
for file in diff_in_2:
print(file)