• 零代码编程:用ChatGPT根据视频标题来批量重命名字幕文件


    现在有很多视频文件:

    还有视频相对应的字幕文件:

    F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画\abadas字幕

    两者的文件标题不一样,现在要将字幕文件的标题全部根据视频文件来重命名。

    在chatGPT中输入提示词:

    你是一个Python编程专家,要完成一个根据视频标题来批量重命名字幕文件的任务,具体步骤如下:

    打开视频文件夹:F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画,获取里面所有的RMVB格式的视频文件标题名,提取其中字符“Abadas_S01E”和符号“_”之间的数字,设为变量{videotitle},注意:提取出的数字要去掉前面的0,

    举个例子:

    原视频标题为:Abadas_S01E04_Cloud[http://www.oiabc.com].rmvb,提取到的数字为:4

    原视频标题为:Abadas_S01E15_Stool[http://www.oiabc.com].rmvb,提取到的数字为:15

    打开视频相对应的字幕文件夹:F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画\abadas字幕,获取所有字幕文件的标题名,设为变量{captiontitile};

    将{captiontitile}和{videotitle}逐一进行比对,如果二者一致,那么将字幕文件的文件名重命名为其对应的视频文件标题名;

    举个例子:

    字幕文件4.srt和视频文件Abadas_S01E04_Cloud[http://www.oiabc.com].rmvb中提取的数字是一致的,4.srt应该重命名为Abadas_S01E04_Cloud[http://www.oiabc.com].srt

    注意:每一步都要输出相关信息

    ChatGPT给出的Python源代码如下:

    import os

    import re

    # 设置视频和字幕的文件夹路径

    video_dir = r'F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画'

    caption_dir = r'F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画\abadas字幕'

    # 获取视频文件夹中的所有文件

    video_files = os.listdir(video_dir)

    # 创建一个字典来存储每个视频文件的编号和名称

    video_dict = {}

    for video_file in video_files:

    if video_file.endswith('.rmvb'): # 检查文件是否是RMVB格式

    # 提取视频编号

    match = re.search(r'Abadas_S01E(\d+)_', video_file)

    if match:

    video_number = int(match.group(1)) # 将编号转换为整数,自动去掉前置0

    video_dict[video_number] = video_file

    # 获取字幕文件夹中的所有文件

    caption_files = os.listdir(caption_dir)

    for caption_file in caption_files:

    if caption_file.endswith('.srt'): # 检查文件是否是SRT格式

    # 提取字幕编号

    basename = os.path.splitext(caption_file)[0]

    if basename.isdigit():

    caption_number = int(basename)

    # 检查字幕编号是否在视频字典中

    if caption_number in video_dict:

    # 构建新的字幕文件名

    new_caption_file = os.path.splitext(video_dict[caption_number])[0] + '.srt'

    # 重命名字幕文件

    os.rename(os.path.join(caption_dir, caption_file), os.path.join(caption_dir, new_caption_file))

    print(f'字幕文件 {caption_file} 已重命名为 {new_caption_file}')

    else:

    print(f'字幕文件 {caption_file} 没有找到对应的视频文件')

    else:

    print(f'字幕文件 {caption_file} 的文件名不是数字')

    运行程序,成功:

  • 相关阅读:
    css自定义属性
    【论文笔记】DeepLab系列
    代码随想录算法训练营第四天|24. 两两交换链表中的节点,19.删除链表的倒数第N个节点,面试题 02.07. 链表相交,142.环形链表II
    F - Sorting a Matrix(拓扑&缩点)
    Python面向对象(一)
    火狐自定义CSS、高级首选项
    ELK安装、部署、调试(五)filebeat的安装与配置
    【深蓝学院】手写VIO第7章--VINS初始化和VIO系统--笔记
    【Java基础】变量、标识符及类型转换
    BERT预训练模型学习笔记
  • 原文地址:https://blog.csdn.net/AIGCTribe/article/details/134531136