Python 實(shí)戰(zhàn) | srt字幕文件轉(zhuǎn)換txt文本文件

用外語觀看電影或電視節(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

參考資料

  1. Simple Python Script for Extracting Text from an SRT File
  2. srt2txt/srt2txt.py
  3. 去除 \ufeff
  4. python文件讀寫
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi閱讀 7,449評(píng)論 0 10
  • 文/檐鈴化語 01 都說“酒后吐真言”,依我看,酒后只能變腦殘。不信?往下看。 一哥們和他老爸舉杯對(duì)飲,幾十個(gè)回合...
    檐鈴化語閱讀 979評(píng)論 2 5
  • 以此共勉!錯(cuò)誤類型: 錯(cuò)誤:image.png 錯(cuò)誤原因:django的版本問題 正在使用的版本:1.11 應(yīng)該配...
    bula_bula_bula_閱讀 312評(píng)論 0 0