news 2026/6/22 21:26:02

批量修改指定路径下的文件名

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
批量修改指定路径下的文件名
import os import shutil def batch_rename_csv(folder_path, replace_old='NMOS', replace_new='NMOS', case_insensitive=True, recursive=False): """ 批量修改指定文件夹下CSV文件的名称,支持大小写不敏感、递归处理子文件夹、管理员权限兼容 :param folder_path: 目标文件夹路径(绝对路径/相对路径) :param replace_old: 要替换的旧字符串(默认NMOS) :param replace_new: 替换后的新字符串(默认NMOS) :param case_insensitive: 是否大小写不敏感(默认True) :param recursive: 是否递归处理子文件夹(默认False) """ # 检查文件夹是否存在 if not os.path.isdir(folder_path): print(f"错误:文件夹 '{folder_path}' 不存在!") return # 遍历文件夹:recursive=True时递归处理子文件夹 for root, dirs, files in os.walk(folder_path): for file_name in files: # 筛选.csv文件 if not file_name.endswith('.csv'): continue # 处理大小写不敏感的匹配 file_name_lower = file_name.lower() old_str_lower = replace_old.lower() if case_insensitive: if old_str_lower not in file_name_lower: continue # 替换所有大小写形式的旧字符串(如NMOS/NMOS/NMOS都替换为NMOS) new_file_name = file_name # 先按小写匹配替换,确保全部替换 import re new_file_name = re.sub(re.escape(replace_old), replace_new, new_file_name, flags=re.IGNORECASE) else: if replace_old not in file_name: continue new_file_name = file_name.replace(replace_old, replace_new) # 构造旧文件和新文件的完整路径 old_file_path = os.path.join(root, file_name) new_file_path = os.path.join(root, new_file_name) # 跳过自身(文件名未变化的情况) if old_file_path == new_file_path: continue # 处理重名问题:可选覆盖/跳过/添加后缀 if os.path.exists(new_file_path): # 方案1:跳过(原逻辑) # print(f"警告:新文件名 '{new_file_name}' 已存在,跳过该文件!") # continue # 方案2:强制覆盖(谨慎使用,会替换原有文件) # os.remove(new_file_path) # 删除原有文件 # os.rename(old_file_path, new_file_path) # print(f"强制覆盖:{file_name} → {new_file_name}") # 方案3:添加数字后缀(推荐,避免覆盖) count = 1 while os.path.exists(new_file_path): name, ext = os.path.splitext(new_file_name) new_file_name = f"{name}_{count}{ext}" new_file_path = os.path.join(root, new_file_name) count += 1 os.rename(old_file_path, new_file_path) print(f"重名处理后重命名:{file_name} → {new_file_name}") else: try: # 重命名文件(兼容不同权限) os.rename(old_file_path, new_file_path) print(f"成功:{file_name} → {new_file_name}") except PermissionError: # 权限不足时,尝试用shutil移动(部分场景可绕过权限) try: shutil.move(old_file_path, new_file_path) print(f"管理员权限不足,使用shutil成功:{file_name} → {new_file_name}") except Exception as e: print(f"失败:{file_name} → 权限不足或文件被占用,错误:{e}") except Exception as e: print(f"失败:{file_name} → 未知错误,错误:{e}") # 若不递归,只处理当前文件夹后退出 if not recursive: break print("批量重命名操作完成!") # -------------------------- 配置区 -------------------------- # 替换为你的目标文件夹路径 target_folder = r"C:\Users\a\Desktop\NMOS" # 要替换的旧字符串和新字符串(可根据需求修改,如noms→NMOS) replace_old_str = "nmos" replace_new_str = "NMOS" # 是否递归处理子文件夹(True/False) recursive_process = False # ------------------------------------------------------------- if __name__ == "__main__": batch_rename_csv( folder_path=target_folder, replace_old=replace_old_str, replace_new=replace_new_str, recursive=recursive_process )
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/22 0:51:17

解密染色质密码:TOBIAS如何让ATAC-seq数据“说话“

解密染色质密码:TOBIAS如何让ATAC-seq数据"说话" 【免费下载链接】TOBIAS Transcription factor Occupancy prediction By Investigation of ATAC-seq Signal 项目地址: https://gitcode.com/gh_mirrors/to/TOBIAS 你知道吗?在每一个细…

作者头像 李华
网站建设 2026/6/23 16:28:55

EmotiVoice vs 其他TTS:情感表达能力全面对比

EmotiVoice:重新定义情感化语音合成的边界 在智能语音助手日渐普及的今天,我们早已习惯了Siri、Google Assistant用平稳语调播报天气。但当一位虚拟角色需要表达“愤怒”、“哽咽”或“窃喜”时,这些系统往往显得力不从心——声音依旧清晰&am…

作者头像 李华
网站建设 2026/6/22 20:23:38

wgpu性能调优:从帧率波动到流畅渲染的技术突破

wgpu性能调优:从帧率波动到流畅渲染的技术突破 【免费下载链接】wgpu Cross-platform, safe, pure-rust graphics api. 项目地址: https://gitcode.com/GitHub_Trending/wg/wgpu 你是否曾经遇到过这样的场景:精心设计的图形应用在低端设备上帧率骤…

作者头像 李华
网站建设 2026/6/22 10:46:00

生物图像智能分析完全手册:5步掌握CellProfiler核心技巧

生物图像智能分析完全手册:5步掌握CellProfiler核心技巧 【免费下载链接】CellProfiler An open-source application for biological image analysis 项目地址: https://gitcode.com/gh_mirrors/ce/CellProfiler 在现代生物医学研究中,显微镜图像…

作者头像 李华
网站建设 2026/6/22 14:10:16

魔兽世界:私服让玩家能重新体验到当年一起开荒的热血时刻

在游戏世界里,魔兽私服曾以一种独特的形式存在,为许多玩家带来别样乐趣。它让一些因各种原因无法正常体验官方服的玩家,也能重温《魔兽世界》的经典魅力。在魔兽私服中,玩家们可以自由组队探索神秘的艾泽拉斯大陆,共同…

作者头像 李华
网站建设 2026/6/22 19:52:40

Auto-Py-To-Exe终极指南:零基础将Python脚本打包成EXE

Auto-Py-To-Exe终极指南:零基础将Python脚本打包成EXE 【免费下载链接】auto-py-to-exe Converts .py to .exe using a simple graphical interface 项目地址: https://gitcode.com/gh_mirrors/au/auto-py-to-exe 还在为Python程序无法在没有Python环境的电…

作者头像 李华