代码:
import os import shutil def copy_and_rename_files(src_directory, target_directory): # 确保目标目录存在 if not os.path.exists(target_directory): os.makedirs(target_directory) # 遍历指定目录及其所有子目录 for root, dirs, files in os.walk(src_directory): for file in files: if file.endswith('srt'): # 构建源文件的完整路径 src_file_path = os.path.join(root, file) # 获取源文件所在的文件夹的相对路径 relative_path = os.path.relpath(root, src_directory) # 构建目标文件夹的完整路径 target_folder_path = os.path.join(target_directory, relative_path) # 如果目标文件夹不存在,则创建它 if not os.path.exists(target_folder_path): os.makedirs(target_folder_path) # 获取源文件所在的文件夹名 folder_name = os.path.basename(root) # 构建新文件名,格式为:文件夹名_zhong_原文件名 new_file_name = f"{folder_name}_zhong_{file}" # 构建目标文件的完整路径 dest_file_path = os.path.join(target_folder_path, new_file_name) # 复制文件,并重命名 shutil.copy(src_file_path, dest_file_path) print(f"Copied {src_file_path} to {dest_file_path}") # 使用示例 # 将 "/path/to/source/directory" 替换为你的源目录路径 # 将 "/path/to/target/directory" 替换为你的目标目录路径 copy_and_rename_files("/path/to/source/directory", "/path/to/target/directory")
同一个目录下:
import os import shutil def copy_and_rename_files_in_same_dir(src_directory): # 遍历指定目录及其所有子目录 for root, dirs, files in os.walk(src_directory): for file in files: if file.endswith('srt'): # 获取源文件所在的文件夹的名称 folder_name = os.path.basename(root) # 构建新文件名,格式为:文件夹名_zhong_原文件名 new_file_name = f"{folder_name}_zhong_{file}" # 构建源文件的完整路径 src_file_path = os.path.join(root, file) # 构建目标文件的完整路径,确保它与源文件在同一目录下 dest_file_path = os.path.join(root, new_file_name) # 复制文件,并重命名 shutil.copy(src_file_path, dest_file_path) print(f"Copied {src_file_path} to {dest_file_path}") # 使用示例 # 将 "/path/to/your/directory" 替换为你的源目录路径 copy_and_rename_files_in_same_dir("/path/to/your/directory")
分类:
python小程序
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2020-05-01 Vue安装vuex
2020-05-01 Successfully created project 'vueSecond' on GitHub, but initial push failed: unable to access
2020-05-01 pycharm登录githu报443