首页 > 编程语言 >用python写一个 将指定目录下以及其下所有子目录下的srt文件复制一份并重命名带上文件夹名字以及“zhong”的字样

用python写一个 将指定目录下以及其下所有子目录下的srt文件复制一份并重命名带上文件夹名字以及“zhong”的字样

时间:2024-05-01 15:55:22浏览次数:28  
标签:src srt python zhong file directory path os target

代码:

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")

 

标签:src,srt,python,zhong,file,directory,path,os,target
From: https://www.cnblogs.com/jingzaixin/p/18169407

相关文章

  • Python学习之路 第五篇 基本数据类型
    int类型:在python3里不论数有多大,永远都是int类型。在python2里整形(数字),在范围内叫int,超出范围叫long,也叫长整型。在python3里所有整形(数字)的功能都包含在int里。int功能展示:输入int摁住ctrl键然后同时将鼠标箭头放在int上出现小手后点击进去就能看到int所具有的功能。表示所有的数......
  • 有遇到过吗?同样的规则 Excel 中 比Python 结果大
    大家好,我是Python进阶者。一、前言前几天在Python白银交流群【JethroShen】问了一个Python处理Excel数据读取的问题。问题如下:有遇到过吗?同样的规则 Excel中 比Python 结果大?二、实现过程这里【瑜亮老师】和【论草莓如何成为冻干莓】给了一个指导,指出是字符串的问题......
  • 一个用Python将视频变为表情包的工具
    这是一个将视频转变为表情包的工具,现实生活中当我们看到一段搞笑的视频,我们可以将这段视频喂给这段程序,生成gif表情包,这样就可以用来舍友斗图了1、一些限制1、这个程序不能转化超过15秒以上的视频,因为占用的内存较高,会被终端杀死(除非你的计算机性能很好,也许1分钟的短视频都可以),......
  • Python - 模块包
    目录包导入示例包的from语句vs包的import语句包导入示例下列三个文件分别位于目录dir1以及dir1的子目录dir2中,这些文件的路径名在注释中给出:#dir1\__init__.pyprint('dir1init')x=1#dir1\dir2\__init__.pyprint('dir2init')y=2#dir1\dir2\mod.pypr......
  • [python] 基于PyWaffle库绘制华夫饼图
    华夫饼图Wafflechart是一种独特而直观的图表,用于表示分类数据。它采用网格状排列的等大小方格或矩形,每个方格或矩形分配不同的颜色或阴影来表示不同的类别。这种可视化方法有效地传达了每个类别在整个数据集中的相对比例。本文介绍如何使用基于Python的PyWaffle库绘制华夫饼图。P......
  • python+requests爬取B站视频保存到本地
    importosimportdatetimefromdjango.testimportTestCase#Createyourtestshere.importrequestsimportreimportjsonimportsubprocessfromconcurrent.futuresimportThreadPoolExecutordefdownload_video(url):#file_path='django3+dr......
  • 《最新出炉》系列入门篇-Python+Playwright自动化测试-42-强大的可视化追踪利器Trace
    1.简介在我们日常执行自动化测试工作的过程中,经常会遇到一些偶发性的bug,但是因为bug是偶发性的,我们不一定每次执行都能复现,所以我们在测试执行的时候,追踪用例执行就变得非常重要了。playwright提供了一个PlaywrightTraceViewer工具来追踪测试执行,这是一个GUI工具,我们可以通过它......
  • python airllm调用本地大模型
    官方demohttps://github.com/lyogavin/Anima/blob/main/air_llm/examples/run_all_types_of_models.ipynb这里使用百川本地fromairllmimportAirLLMLlama2,AutoModelMAX_LENGTH=128#默认会去抱脸网下载,很慢,而且需要xx上网#model=AutoModel.from_pretrained("baichua......
  • python匿名函数、内置函数以及各类高阶函数等
    【一】匿名函数【1】函数的分类#【1】正规函数deflogin():...login()#【2】匿名函数(无名函数)#语法:lambda参数:表达式#lambda:匿名函数的关键字#参数可以放位置参数以及关键字参数...#表达式:其实本质上是返回值【2】定义匿名函数Python使用lamb......
  • C/C++、Java 与 Python 中未初始化变量的处理比较
    在C/C++中,未初始化的变量的值是不确定的,可能是随机的。 在Python中,如果直接使用未初始化的变量,会引发NameError异常。Python要求变量在使用前必须进行赋值或初始化。 而在Java中,直接使用未初始化的局部变量会导致编译错误,必须先对变量进行初始化。 C++和Java在字......