遍历文件夹中的所有文件,把名称中包含存在中文字符的文件拿出来放到一个新的文件夹中
在训练模型时,会处理数据集,数据集的样式因为标注人员的执行标准不同,最后图像数据参差不齐,需要对图片数据做调整
- 首先定义了源文件夹和目标文件夹的路径
- 然后检查并创建目标文件夹
- 接着遍历源文件夹及其所有子文件夹,对每个文件名进行检查,看其是否包含中文字符
- 如果文件名包含中文字符,则将该文件移动到目标文件夹
- 这段代码使用了正则表达式[\u4e00-\u9fff()]+来匹配任何包含中文字符或括号的文件名。如果你只需要检查文件名是否包含中文或括号中的任意一种,保留这个正则表达式即可;如果需要两者都必须存在,请调整正则表达式以符合你的需求。
import os
import re
import shutil
src_folder = r'D:\pythonProject\1scripts\images\test'
target_folder = r'D:\pythonProject\1scripts\images\test_chinese'
if not os.path.exists(target_folder):
os.makedirs(target_folder)
filename_pattern = re.compile(r'[\u4e00-\u9fff()]+')
for dir_path, dir_names, file_names in os.walk(src_folder):
for file_name in file_names:
if filename_pattern.search(file_name):
src_file_path = os.path.join(dir_path, file_name)
target_file_path = os.path.join(target_folder, file_name)
shutil.move(src_file_path, target_file_path)