零代码编程:用ChatGPT将SRT字幕文件批量转为Word文本文档

一个文件夹中有多个srt视频字幕文件,srt文件里面有很多时间轴:

现在想将其批量转为word文档,去掉里面与字符无关的时间轴,在ChatGPT中输入提示词:

你是一个Python编程专家,要完成一个批量将SRT字幕文件转为Word文本文档的任务,具体步骤如下:

打开文件夹:F:\儿童学习教育\Abadas.适合2岁以上.BBC儿童学习单词的动画;

读取里面所有的srt字幕文件;

将srt字幕文件里面的时间和数字序号全部去掉,只保留字幕文本,另存为word文档;

比如,原有的srt字幕文件内容为:

1

00:00:20,560 --> 00:00:22,760

'Hey, Abadas!'

2

00:00:22,760 --> 00:00:26,120

ALL: Hello, Ben! Come and play with us!

3

00:00:26,120 --> 00:00:30,000

And... # We'll have a...

转换后的word文档内容为:

'Hey, Abadas!'

ALL: Hello, Ben! Come and play with us!

And... # We'll have a...

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

每一行代码都要给出详细的注释

ChatGPT的回复:

以下是一个使用 python-docx 和 re(正则表达式模块)将 SRT 字幕文件转为 Word 文档的 Python 脚本。请先安装 python-docx 库,可以通过 pip install python-docx 来安装。

import os

import re

from docx import Document

# 设置源文件夹路径

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

# 遍历源文件夹中的所有字幕文件

for file_name in os.listdir(source_dir):

# 确保是 SRT 文件

if file_name.endswith('.srt'):

file_path = os.path.join(source_dir, file_name)

print(f'正在处理字幕文件: {file_path}')

with open(file_path, 'r', encoding='utf-8') as f:

content = f.read()

# 使用正则表达式将时间和数字序号去掉

pattern = re.compile(r'\d+\n\d{2}:\d{2}:\d{2},\d+ --> \d{2}:\d{2}:\d{2},\d+\n')

text_only = re.sub(pattern, '', content)

# 创建一个 Word 文档,并将处理后的文本添加到文档中

doc = Document()

doc.add_paragraph(text_only)

# 将 Word 文档保存为一个新文件

word_file_path = file_path.replace('.srt', '.docx')

doc.save(word_file_path)

print(f'已将字幕文件保存为 Word 文档: {word_file_path}')

注意:此脚本假设所有的 SRT 文件都使用 UTF-8 编码。如果你的 SRT 文件使用其他编码,你可能需要修改 open() 函数中的 encoding 参数。此外,脚本假设 SRT 文件的时间戳和文本之间没有额外的空行。如果有额外的空行,你可能需要修改或添加正则表达式来处理它们。最后,这个脚本会直接修改你的文件系统,因此在运行之前请确保你已经备份了原始数据,或者在一个安全的环境下运行这个脚本。在运行这个脚本之前,请确保你的Python环境有足够的权限来读取和写入文件。以上代码未进行错误处理,实际使用时应考虑加入错误处理机制。

转换后的word文档如下:

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

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

相关文章

js 数组中使用 push 报错

文章目录 问题分析 问题 代码如下,但报错如上,请分析上述代码错误原因 let arr [[160, 20], [179, 10], [-170, -20]]; let temp arr.unshift([1,1]); let tt temp.push([0,0])console.log(tt); // 输出新生成的数组分析 这段代码有几个错误&#x…

opencv-形态学处理

通过阈值化分割可以得到二值图,但往往会出现图像中物体形态不完整,变的残缺,可以通过形态学处理,使其变得丰满,或者去除掉多余的像素。常用的形态学处理算法包括:腐蚀,膨胀,开运算&a…

CDN加速在目前网络安全里的重要性

在当今数字化时代,网络已经成为我们生活不可或缺的一部分。然而,随之而来的是网络安全的威胁不断增加,为了应对这一挑战,CDN(内容分发网络)的应用变得愈发重要。本文将从一个旁观者的角度分析当前的网络安全…

【设计模式】结构型设计模式

结构型设计模式 文章目录 结构型设计模式一、概述二、适配器模式(Adapter Pattern)2.1 类适配器模式2.2 对象适配器模式2.3 接口适配器模式2.4 小结 三、桥接模式(Bridge Pattern)四、装饰器模式(Decorator Pattern&am…

基于ubuntu20.04安装ros系统搭配使用工业相机

基于ubuntu20.04安装ros系统搭配使用工业相机 1. ROS系统安装部署1.1更新镜像源1.1.1 备份源文件1.1.2 更新阿里源1.1.3 更新软件源 1.2 ros系统安装1.2.1 添加ros软件源1.2.2 添加秘钥1.2.3 更新软件源1.2.4 配置及更换最佳软件源1.2.5 ROS安装1.2.6 初始化rosdep1.2.7 设置环…

datagrip只导出表结构

话不多说,直接上教程。 datagrip版本:2022.3 第一步,连接数据库 第二步,右击数据库,复制即可

【游记】NOIP2023

Day -8 本来以为初中生不能参加NOIP。 老师突然通知,说初中生参加NOIP的分数线定在140分,我可以进NOIP,我开心了 😃 于是我又开始备(juan)战(ti)了。 Day -8、-7、-6、-5 晚上9:00-10:00卷题。 卷了一些往年NOIP的水题。。。 Da…

【20年扬大真题】编写对数组求逆的递归算法

【20年扬大真题】 编写对数组求逆的递归算法 void swap(int* a, int* b) {int tmp *b;*b *a;*a tmp; } void Ni(int arr[],int left,int right) {if (left > right) {return;}swap(&arr[left], &arr[right]);Ni(arr, left 1, right - 1); } int main() {int ar…

将数字每千分位用逗号隔开

// 无小数版本 let format n > {let num n.toString() let len num.lengthif (len < 3) {return num} else {return format(num.slice(0,len-3)),num.slice(len-3)} } let resformat(1232327666663) // 1,232,323 console.log(res)// 有小数版本 let format n > …

C#有关里氏替换原则的经典问题答疑

目录 理解创建类型与变量类型很关键 先来理解变量类型。 再来理解创建类型。 有了正确的理解再来看疑问 里氏替换原则是面向对象七大原则中最重要的原则。 语法表现&#xff1a;父类容器装子类对象。 namespace 里氏替换原则 {class GameObject { } class Player : GameO…

[Vue3] vue-router路由守卫进阶

路由守卫&#xff0c;可以想象为古代御前侍卫&#xff0c;路由守卫&#xff0c;则是对路由进行权限控制 分类&#xff1a;全局守卫、独享守卫、组件内守卫 文章目录 1.全局前置-路由守卫2.全局后置守卫3.独享守卫4.组件内路由守卫5.keep-alive遇见vue-router6.路由器的两种工作…

详解Python安装requests库的实例代码

文章目录 前言基本用法基本的get请求带参数的GET请求解析json关于Python技术储备一、Python所有方向的学习路线二、Python基础学习视频三、精品Python学习书籍四、Python工具包项目源码合集①Python工具包②Python实战案例③Python小游戏源码五、面试资料六、Python兼职渠道 前…

类加载器与反射

1&#xff1a;Java类加载机制 简介&#xff1a; 虚拟机把数据从Class文件加载到内存&#xff0c;并对数据进行校验&#xff0c;解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的java类型。 2&#xff1a;JVM加载Class文件的原理机制 Java中的所有类&#xff0c;都需…

“茶叶创新:爆改营销策略,三个月狂销2300万“

我的朋友去年制作了一款白茶&#xff0c;并在短短三个月内将其销售量推到了2300万的高峰。你相信吗&#xff1f; 这位朋友并没有任何茶叶方面的经验&#xff0c;他只是一个有着冒险精神的企业家。他先找到了一家代工厂&#xff0c;帮助他把他的茶叶理念转化为现实。 当他把茶叶…

win11,安装python,pip,和opencv

1,安装python 在应用商店&#xff0c;输入python&#xff0c;下载安装 2&#xff0c;安装pip 在cmd中&#xff0c;输入pip install SomePackage&#xff0c;安装某一个版本的pip 3,安装opencv 在cmd中&#xff0c;输入 pip3 install opencv-contrib-python -i https://pyp…

【Python】153是一个非常特殊的数,它等于它的每位数字的立方和,即153=1*1*1+5*5*5+3*3*3。编程求所有满足这种条件的三位十进制数。

问题描述 153是一个非常特殊的数&#xff0c;它等于它的每位数字的立方和&#xff0c;即1531*1*15*5*53*3*3。编程求所有满足这种条件的三位十进制数。 输出格式 按从小到大的顺序输出满足条件的三位十进制数&#xff0c;每个数占一行。 方法一&#xff1a; for i in range(10…

私域运营如何提高收益?

一旦建立了私域之后&#xff0c;企业需要不断地进行数据统计与分析&#xff0c;以寻找提高收益的方法。通过收集和分析用户的信息&#xff0c;了解他们的购物行为、心理需求等&#xff0c;从而制定更符合顾客口味的促销计划和产品服务。只有持续对数据进行监控&#xff0c;才能…

代码随想录 10.13 || 二叉树 LeetCode 235.二叉搜索树的最近公共祖先、701.二叉搜索树中的插入操作、450.删除二叉搜索树中的节点

二叉树的定义&#xff1a; 回顾一下二叉树的定义&#xff0c;加固记忆。 struct TreeNode {int val;TreeNode *left;TreeNode *right;TreeNode() : val(0), left(nullptr), right(nullptre) {}TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}TreeNode(int x, Tre…

crontab配置定时根据名称杀进程

服务器上某个进程杀掉后会重启&#xff0c;怀疑是被当成肉鸡&#xff0c;因此是用linux自带的crontab定时执行脚本杀掉进程 上传脚本文件到服务器 #! /bin/bash # 要杀掉进程的名称 APPLICATION"ntools"if pkill -f "${APPLICATION}"; thenecho "${…