python提取字幕文件中的纯文字

文章介绍了如何使用Python代码从srt字幕文件中提取纯文字内容,提供了两种解决方案:一种是通过判断行首尾字符排除非文字行,另一种是基于srt文件的行序只提取特定行号的文字。第一种方案适用于更复杂的情况,包括多行字幕文本,而第二种则逻辑简单,适用于每时间段内只有一行文本的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python提取字幕文件中的纯文字

当我们有一个字幕文件,需要把里面的纯文字提出出来的时候,手动去删除其他部分会比较麻烦,所以我们可以用一小段python代码来帮我们实现这一功能。

1.关于字幕文件srt的说明

srt文件的格式一般是这样的:

1
00:00:00,166 --> 00:00:01,499
滕王阁序

2
00:00:02,133 --> 00:00:02,999
王勃

3
00:00:05,166 --> 00:00:06,999
豫章故郡

4
00:00:07,700 --> 00:00:09,933
洪都新府

5
00:00:10,800 --> 00:00:12,733
星分翼轸

6
00:00:13,033 --> 00:00:14,933
地接衡庐

2.实现方案

1. 方案1

观察srt文件,会发现,我们不需要的行有:

  1. 数字编号行(纯数字)
  2. 时间跨度行(首尾都是数字)
  3. 空行(只有换行符’\n’)

上面的这3行是我们不需要的,所以我们需要把这3行给删掉。
我们先获取到文本文件的每一行数据,然后对纯文字行的判断,如果该行的开头不是换行符或者数字,而且结尾也不是数字的话,我们认为该行为纯文字行

具体实现如下:

texts = []
with open("subtitle.srt", encoding="utf-8-sig") as f:  # 打开字幕文件
    for line in f.readlines(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值