无视后缀对比两个文件夹下文件名是否对应---相互检查有不一样的自动删除
时间: 2024-01-13 20:04:13 浏览: 75
可以使用 Python 的 os 模块,先将两个文件夹中的文件名列表分别存储到两个列表中,然后进行比较。可以使用字符串的 endswith() 方法来判断文件名是否以某个后缀结尾,如果不是,则说明文件名不对应,可以将其自动删除。
举个例子,可以参考以下代码实现:
```
import os
folder1 = '/path/to/folder1'
folder2 = '/path/to/folder2'
# 获取两个文件夹中所有文件的文件名列表
folder1_filenames = os.listdir(folder1)
folder2_filenames = os.listdir(folder2)
# 遍历文件名列表,判断是否对应,如果不对应则删除
for filename1 in folder1_filenames:
if not filename1.endswith('.jpg'): # 以 .jpg 为例,可以根据实际情况修改后缀
continue # 如果文件名不是以 .jpg 结尾,则跳过该文件名检查
if filename1 not in folder2_filenames:
os.remove(os.path.join(folder1, filename1))
print(f'{filename1} in {folder1} is removed because it does not exist in {folder2}.')
for filename2 in folder2_filenames:
if not filename2.endswith('.jpg'): # 以 .jpg 为例,可以根据实际情况修改后缀
continue # 如果文件名不是以 .jpg 结尾,则跳过该文件名检查
if filename2 not in folder1_filenames:
os.remove(os.path.join(folder2, filename2))
print(f'{filename2} in {folder2} is removed because it does not exist in {folder1}.')
```
注意:代码中的路径需要根据实际情况进行修改。另外,该代码无法处理子文件夹内的文件名对应关系,如果需要处理子文件夹内的文件,可以使用递归函数来实现。
阅读全文