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

news2024/11/18 11:18:59

现在有很多视频文件:

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

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} 的文件名不是数字')

运行程序,成功:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1233643.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新版Testwell CTC++带来哪些新变化?

Testwell CTC在版本10中引入了新的工具ctcreport来直接从符号和数据文件生成HTML报告。详细的特性描述可以在测试井CTC帮助中找到。在本文档中,描述了与前一代报告相比的改进和变化。 Adaptable Layout可调整布局 您可以选择一个适合于项目结构的布局。布局决定了报…

tokenizers Tokenizer 类

Tokenizer 类 依赖安装 pip install tensorflow pip install tensorflow -i https://pypi.tuna.tsinghua.edu.cn/simple基类原型 tokenizers.Tokenizer(model)基类说明 Tokenizer 函数构造一个分词器对象。分词方式主要有word-level、subword-level、char-level三种&#x…

visionOS空间计算实战开发教程Day 1:环境安装和编写第一个程序

安装 截至目前visionOS还未在Xcode稳定版中开放,所以需要下载​​Xcode Beta版​​。比如我们可以下载Xcode 15.1 beta 2,注意Xcode 15要求系统的版本是macOS Ventura 13.5或更新,也就是说2017年的MacBook Pro基本可以勉强一战,基…

数据仓库

一. 各种名词解释 1.1 ODS是什么? ODS层最好理解,基本上就是数据从源表拉过来,进行etl,比如mysql 映射到hive,那么到了hive里面就是ods层。 ODS 全称是 Operational Data Store,操作数据存储.“面向主题的…

[C++随想录] 哈希之unordered_map和unordered-set的封装

unordered_map和unordered_set的封装 1. hash模版的改变1.1 hash类模板 头的改变1.2 封装迭代器类1.2.1 构造 && 拷贝构造1.2.2. 1.2.3. 其他运算符重载 1.3 hash类实现普通迭代器和const迭代器 2. unordered_set的底层逻辑3. unordered_map的底层逻辑4. 源码4.1 hash类…

buildadmin+tp8表格操作(4) Table组件,baTable类和 elementplus中的属性关系

在buildadmin 中,table组件是封装的 element-plus中的方法, 所以说, 在 buildadmin的table组件中,是可以通用 elementplus中的属性的 以上这些属性, 在buildadmin中都是可以使用的 使用方式和 elementplus el-table用…

终端仿真软件 SecureCRT v9.4.2

SecureCRT是一款终端仿真软件,它提供了类似于Telnet和SSH等协议的远程访问功能。SecureCRT专门为网络管理员、系统管理员和其他需要保密访问网络设备的用户设计。 SecureCRT具有以下特点: 安全性:SecureCRT支持SSH1、SSH2、SSL和TLS等加密和…

git可以pull到代码,push时提示没有权限。解决办法:git生成ssh密钥(详细步骤)

1、首先右键点击电脑桌面,点击“git bash here”,打开git命令窗口 2、如果git用户名和邮箱等已经完成配置,则跳过此步骤,直接操作第3条;假如没有配置,继续如下操作: (1)、在命令窗口配置用户&a…

怎么实现在微信公众号预约挂号功能呢

随着移动互联网的普及,微信公众号已经成为人们获取信息、了解资讯、预约服务的重要渠道。为了方便患者,许多医院也纷纷开通了微信公众号预约挂号功能。本文将介绍如何在微信公众号上实现预约挂号功能,帮助患者更加便捷地预约挂号。 一、关注医…

HarmonyOS ArkTS List组件和Grid组件的使用(五)

简介 ArkUI提供了List组件和Grid组件,开发者使用List和Grid组件能够很轻松的完成一些列表页面。常见的列表有线性列表(List列表)和网格布局(Grid列表): List组件的使用 List是很常用的滚动类容器组件&…

python接口自动化测试之接口数据依赖

一般在做自动化测试时,经常会对一整套业务流程进行一组接口上的测试,这时候接口之间经常会有数据依赖,那又该如何继续呢? 那么有如下思路: 抽取之前接口的返回值存储到全局变量字典中。初始化接口请求时,…

数据资产入表实务操作的难点及解决方案

在当前数字化的浪潮下,数据已经成为劳动、土地、知识、技术以后的第五大生产要素,“数据就是资源”已成为共识。8月21日,财政部正式印发《企业数据资源相关会计处理暂行规定》,对于符合规定定义和确认条件的数据资产,可…

vue3.0 + qiankun遇到的问题

进入子应用再回到主应用切换动态路由时 TypeError: Cannot read properties of undefined (reading ‘appWrapperGetter’) application ‘plat’ died in status UNMOUNTING: instance.$destroy is not a function 第一个报错是因为子应用切走时没有销毁 vue的实例&#xff0…

麒麟系统开机忘记密码,密码重置

开机后,麒麟系统忘密码了... ... 1.关机状态下,点击电源开机,进入GRUB界面(这个得看自己的系统进入GRUB的方式,有的直接进GRUB,有的直接进系统启动,我是按的F2进入GRUB界面)&#xf…

深度学习之自监督模型汇总

1.BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding paper:https://arxiv.org/pdf/1810.04805v2.pdf code:GitHub - google-research/bert: TensorFlow code and pre-trained models for BERT Abstract:我们引入了一种名为 BE…

ECharts零基础使用思路 图表案例网站推荐

1、用npm安装echarts npm i echarts -S 2、引入 (1)可以在mian.js里全局引入 import echarts from ‘echarts’ Vue.prototype.$echarts echarts 将echarts挂载在Vue原型上 用时直接this.$echarts即可 (2)也可以在组件中按需引入…

OpenAI宫斗,尘埃落定,微软成最大赢家

周末被OpenAI董事会闹剧刷屏,ChatGPT之父Sam Altman前一天被踢出董事会,免职CEO,后一天重返OpenAI,目前结局未知。 很多同学想要围观,缺少背景知识,这里老章为大家简单介绍前因后果及涉及的人物,时间线,让大家轻松围观。 备好瓜子,开始。 1、主角 先看一张图,看一…

SWAT-MODFLOW耦合

耦合模型被应用到很多科学和工程领域来改善模型的性能、效率和结果,SWAT作为一个地表水模型可以较好的模拟主要的水文过程,包括地表径流、降水、蒸发、风速、温度、渗流、侧向径流等,但是对于地下水部分的模拟相对粗糙,考虑到SWAT…

解决收集问卷难的方法与策略:提升数据收集效率

随着社会的发展和科技的进步,问卷调查成为了获取信息和研究数据的重要手段之一。然而,面临的一个普遍难题是如何解决收集问卷困难的问题。无论是在学术研究、市场调研还是社会调查中,都存在着一些挑战和阻碍因素。本文将从不同角度探讨如何突…

手机 IOS 软件 IPA 签名下载安装详情图文教程

由于某些应用由于某些原因无法上架到 appStore 或者经过修改过的软件游戏等无法通过 appStore 安装,我们就可以使用签名的方式对相应软件的IPA文件进行签名然后安装到你的手机上 这里我们使用爱思助手进行签名安装,爱思助手支持两种方式,一种…