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文件,会发现,我们不需要的行有:
- 数字编号行(纯数字)
- 时间跨度行(首尾都是数字)
- 空行(只有换行符’\n’)
上面的这3行是我们不需要的,所以我们需要把这3行给删掉。
我们先获取到文本文件的每一行数据,然后对纯文字行的判断,如果该行的开头不是换行符或者数字,而且结尾也不是数字的话,我们认为该行为纯文字行。
具体实现如下:
texts = []
with open("subtitle.srt", encoding="utf-8-sig") as f: # 打开字幕文件
for line in f.readlines(