读取指定文件夹所有文件另存到同一文件
"""获取所有图片"""
import os
import shutil
import fnmatch
def find_and_save_images(root_dir, output_dir, keyword="堆料"):
cnt = 0
for subdir, _, files in os.walk(root_dir):
for file in files:
# 判断文件名是否包含关键词,并且文件是图片格式
if keyword in file and any(fnmatch.fnmatch(file, ext) for ext in ["*.jpg", "*.jpeg", "*.png"]):
# 构造新的文件名,可以根据需要自定义命名规则
if '识别结果' in file or '原图' in file:
continue
new_filename = f"{cnt}_{file}"
if 'error' in file:
new_filename = 'e_' + new_filename
# 构造源文件和目标文件的完整路径
src_path = os.path.join(subdir, file)
dest_path = os.path.join(output_dir, new_filename)
print('os.path.exists(src_path):', os.path.exists(src_path))
# 复制文件到目标文件夹
shutil.copy(src_path, dest_path)
print(f"File copied: {src_path} -> {dest_path}")
cnt += 1
# 设置根目录和输出目录
root_directory = "F:/4-存档/4-viev_find/save/save/"
output_directory = "E:/4-viev_find/PaddleSeg/zz_get_raw_img/z_raw_img/"
# 调用函数
find_and_save_images(root_directory, output_directory, keyword="堆料检测")