import csv import os import shutil def output_file_names(directory_path): # 检查路径是否存在 if not os.path.exists(directory_path): print("路径不存在") return [] # 检查路径是否为目录 if not os.path.isdir(directory_path): print("路径不是文件夹") return [] # 初始化文件名列表 file_names = [] # 遍历目录下的所有文件 for filename in os.listdir(directory_path): file_names.append(filename) return file_names # 返回文件名列表 for filename in file_names: print(filename) def output_csv(csv_path): new_names=[] with open(csv_path, mode='r', encoding='GBK') as csv_file: reader = csv.reader(csv_file) for row in reader: # 每一行的第一列和第二列拼接后输出 new_name=f"{row[0].strip()}_{row[1].strip()}.jpg" new_names.append(new_name) for new_name in new_names: print(new_name) return new_names def modify_image_names(image_folder_path, new_names): # 检查路径是否存在 if not os.path.exists(image_folder_path): print("路径不存在") return # 检查路径是否为目录 if not os.path.isdir(image_folder_path): print("路径不是文件夹") return # 获取图片文件夹中的所有文件 files = os.listdir(image_folder_path) # 检查文件数量和新名称数量是否匹配 if len(files) != len(new_names): print("文件数量与新名称数量不匹配") return # 遍历文件列表,逐个修改文件名 for i in range(len(files)): old_name = files[i] new_name = new_names[i] # 构建新的文件路径 old_path = os.path.join(image_folder_path, old_name) new_path = os.path.join(image_folder_path, new_name) # 重命名文件 os.rename(old_path, new_path) print("文件名修改完成") if __name__ == "__main__": img_directory = "文件所在文件夹路径" csv_file_path = "csv文件绝对路径" output_file_names(img_directory) new_file_names=output_csv(csv_file_path) modify_image_names(img_directory,new_file_names)
批量文件夹命名
于 2023-12-25 16:07:05 首次发布