用外語觀看電影或電視節(jié)目對(duì)于學(xué)習(xí)該語言非常有用,通常可以在字幕網(wǎng)站上找到字幕文件(srt文件)。但是,這些文件不容易閱讀,因?yàn)樗鼈儤?biāo)有時(shí)間戳。因此,本代碼旨在將srt字幕文件轉(zhuǎn)換txt文本文件。
使用文本閱讀器打開的srt字幕文件是這樣的:
172
00:11:20,639 --> 00:11:24,393
To try to quote Ellen Yindel's
outstanding record in the time I have...173
00:11:24,560 --> 00:11:26,103
would do her a disservice.174
00:11:26,270 --> 00:11:29,190
Instead I offer the new commissioner
my sympathy...175
00:11:29,357 --> 00:11:32,526
knowing the impossible job
she is about to face.
但是我們想看到的是這樣的文本文件:
To try to quote Ellen Yindel's outstanding record in the time I have...
would do her a disservice.
Instead I offer the new commissioner my sympathy...
knowing the impossible job she is about to face.
使用以下代碼可以實(shí)現(xiàn)srt字幕文件轉(zhuǎn)換為txt文本文件
Python代碼如下:
a = 1
b = 2
c = 3
state = a
text = ''
with open('test1.srt', 'r', utf-8-sig) as f: #打開srt字幕文件,并去掉文件開頭的\ufeff
for line in f.readlines(): #遍歷srt字幕文件
if state == a: #跳過第一行
state = b
elif state == b: #跳過第二行
state = c
elif state == c: #讀取第三行字幕文本
if len(line.strip()) !=0:
text += ' ' + line.strip() #將同一時(shí)間段的字幕文本拼接
state = c
elif len(line.strip()) ==0:
with open('test1.txt', 'a') as fa: #寫入txt文本文件中
fa.write(text)
text = '\n'
state = a