import os import shutil from pathlib import Path # 源目录和目标目录 SOURCE_DIR = r"E:\工作台\87_牧原POC\豆包安装包" TARGET_DIR = r"E:\工作台\87_牧原POC\豆包素材" # 支持的图片格式 IMAGE_EXTENSIONS = {'.png', '.jpg', '.jpeg', '.gif', '.bmp', '.webp', '.svg', '.ico', '.tiff', '.tif'} def get_unique_filename(target_path): """如果文件存在,在文件名后面添加 _n""" path = Path(target_path) if not path.exists(): return target_path base = path.stem ext = path.suffix parent = path.parent counter = 1 while True: new_name = f"{base}_{counter}{ext}" new_path = parent / new_name if not new_path.exists(): return str(new_path) counter += 1 def copy_images_recursive(): """递归复制所有图片文件""" source_path = Path(SOURCE_DIR) target_path = Path(TARGET_DIR) # 确保目标目录存在 target_path.mkdir(exist_ok=True) copied_count = 0 skipped_count = 0 print(f"开始扫描: {SOURCE_DIR}") print(f"目标目录: {TARGET_DIR}") print("-" * 50) # 递归遍历源目录 for root, dirs, files in os.walk(source_path): for file in files: file_ext = Path(file).suffix.lower() # 检查是否是图片文件 if file_ext in IMAGE_EXTENSIONS: source_file = Path(root) / file target_file = target_path / file # 处理同名文件 final_target = get_unique_filename(target_file) # 如果文件名没有改变(原文件不存在),直接复制 # 如果文件名改变了(有重名),使用新文件名 try: shutil.copy2(source_file, final_target) copied_count += 1 status = "重命名复制" if final_target != str(target_file) else "复制" print(f"[{status}] {file} -> {Path(final_target).name}") except Exception as e: print(f"[错误] 无法复制 {file}: {e}") print("-" * 50) print(f"完成! 共复制 {copied_count} 个图片文件") if __name__ == "__main__": copy_images_recursive()python(68) : 提前文件夹所有图片, 重名处理
张小明
前端开发工程师
西门子s7 200smart与3台力士乐变频器通讯程序 原创可直接用于生产的程序,程序带注释...
西门子s7 200smart与3台力士乐变频器通讯程序 原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等。 程序采用轮询,可以后续根据要求适当修改后扩展。 器件:西门子s7 …
流量累计程序 博途v15编写的西门子流量累计程序,封装好的FB块直接可以拿来用,并且配有视频解说
流量累计程序 博途v15编写的西门子流量累计程序,封装好的FB块直接可以拿来用,并且配有视频解说,轻松学会最近在调试现场流量计项目,发现不少新手对累计流量功能实现总是卡壳。今天就给大家拆解一个我封装好的博途V15流量累计FB块&…
深夜调模型的工程师都懂,燃油车和电动车之间总得有个“和事佬“——增程器。今天咱们聊的这个Cruise仿真模型,就是要把这个中间商做出价值
cruise模型,增程汽车仿真模型,串联混动,基于cruise/simulink联合仿真。 实现增程器多点控制策略,及电制动优先的能量回收策略。 提供cruise模型、控制策略文件以及策略说明文档,方便您在模型基础上进行扩展。先看底盘架…
双向隔离DCDC仿真之Simulink探索
双向隔离DCDC仿真simulink在电力电子领域,双向隔离DC - DC变换器因其能实现能量双向流动且电气隔离的特性,在众多场合如电动汽车、分布式能源存储系统中有着广泛应用。而Simulink作为一款强大的系统级建模与仿真工具,为双向隔离DC - DC变换器…
西门子s7 200smart与力士乐VFC3610变频器通讯原创可直接用于生产的程序,程序带注...
西门子s7 200smart与力士乐VFC3610变频器通讯原创可直接用于生产的程序,程序带注释,并附送触摸屏程序,有接线方式和设置,通讯地址说明等。 程序采用轮询,可以后续根据要求适当修改后扩展。 器件:西门子s7 2…
LabVIEW与通用OCR识别技术的奇妙碰撞
labview.通用OCR识别技术在自动化检测和数据处理的领域中,LabVIEW作为一款功能强大且直观的图形化编程环境,一直备受工程师和开发者的青睐。而通用OCR(光学字符识别)技术,则为从图像中提取文本信息提供了有力手段。将这…