在做项目的过程中,往往需要提取文件夹中的指定文件至其他文件夹,或者要删除文件夹中的指定文件,如下图所示,当我需要将图片按照命名的尾数进行分类提取或者删除,依靠人工筛选是很麻烦的。
下面提供一个代码进行分类
import os
import shutil
path = 'D:/100FPLAN' # 目标文件所在文件夹
Green_path = 'D:/GREEN' # 输出文件夹
NIR_path = 'D:/NIR' # 输出文件夹
RED_path = 'D:/RED' # 输出文件夹
REG_path = 'D:/REG' # 输出文件夹
files_list = os.listdir(path)
for file in files_list:
# print(file)
file_name = file.split('.')[0]
file_path= path + '/' + file_name + '.TIF' # 这里繁琐一下是因为后面的shutil.copy第一个参数要求这样
file_name_num = file.split('.')[0].split('_')[1]
# print(file_name)
if file_name_num[-1] == '2':
shutil.copy(file_path, Green_path)
elif file_name_num[-1] == '5':
shutil.copy(file_path, NIR_path)
elif file_name_num[-1] == '1':
shutil.copy(file_path, RED_path)
elif file_name_num[-1] == '4':
shutil.copy(file_path, REG_path)
elif file_name_num[-1] == '0':
del_file = path + '/' + file
os.remove(del_file) # 删除指定文件
print("已经删除:", del_file)
运行后如下图所示,原文件夹中要删除的已经删除了,提取的图片也已经分好类