有一批文件,第一级文件夹名是Serial number, 第二级是测试时间,第三级中有两个csv 文件,这个文件的前面与Serial number 文件夹名一致,后面是固定的_blemish_results_RGB_merged_offlineprocess.csv 和_blemish_results_W_merged_offlineprocess.csv。 如何更改以下代码实现固定字符串的搜索并重命名该文件,重命名方式我已写好,但是不知道怎么写模糊查找,谢谢各位,有效立即采纳
要实现的目标是将图片中红色的csv 文件,重命名成 “一级文件夹名”+“二级文件夹名前17位”+“固定_blemish_results_RGB_merged_offlineprocess.csv”,然后统一放在target folder 下面,请各位赐教
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Dec 18 11:16:42 2022
@author: andychen
"""
import os
import shutil
# 设置要遍历的根文件夹路径
root_path = '/Users/andychen/Desktop/untitled folder/'
# 设置要将重命名后的文件放到的路径
target_path = '/Users/andychen/Desktop/untitled folder/'
# 创建 target_path 文件夹,如果文件夹已存在则不会创建
os.makedirs(target_path, exist_ok=True)
# 遍历所有文件夹和子文件夹
for root, dirs, files in os.walk(root_path):
# 遍历所有文件
for file in files:
# 如果文件名是 ******blemish_results_RGB_merged_offlineprocess.csv
if file == 'blemish_results_RGB_merged_offlineprocess.csv':
# 获取文件所在的一级文件夹名和二级文件夹名的前 17 个字符
folder1 = root.split('/')[-2]
folder2 = root.split('/')[-1][:17]
# 重命名文件
new_file_name = folder1 + '_' + folder2 + '_blemish_results_RGB_merged_offlineprocess.csv'
# 获取文件的完整路径
file_path = os.path.join(root, file)
# 获取重命名后文件的完整路径
new_file_path = os.path.join(target_path, new_file_name)
# 重命名文件并移动到指定路径
shutil.copy(file_path, new_file_path)
print("finish")