Coding-python-删除两个文件夹中文件名不互相匹配的文件

示例:匹配只有前六位是数字的文件

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import os
import re

# 文件夹路径
folder_path = 'datasets/clothes/valid/images'

# 定义文件名的匹配模式
pattern = re.compile(r'^\d{6}\.(txt|jpg)$')

# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
file_path = os.path.join(folder_path, filename)
# 检查是否为文件
if os.path.isfile(file_path):
# 检查文件名是否符合模式
if not pattern.match(filename):
# 如果文件名不符合规则且是.txt或.jpg文件,则删除
if filename.endswith(('.txt', '.jpg')):
print(f"Deleting: {file_path}")
os.remove(file_path)