Python生成双语字幕文件

过了九月以后就是美剧爆发的季节,等有字幕的RMVB(我承认我对画质的要求下降了。。。)已经跟不上进度。遂又开始了每周去eztv下载avi然后去射手搜字幕的时候。

字幕这个事呢,不能强求。有些字幕组会做中英文合并的单字幕文件,有些呢,就是中英文分开的两个。对于俺这种喜欢看双语字幕的人,就需要多做一步。以前都是人肉操作,现在改脚本帮忙了。

目标:把两种语言的两个字幕文件(比如.cn.srt文件和.en.srt文件)合并为一个单独的双语字幕文件(比如.combined.srt)

思路:想必大家都知道,把中、英文2个字幕文件中的任一个的内容加到另一个文件中保存后,那个合并过的srt文件就是双语字幕了。

脚本说明:非常的简单,就是读一个文件然后写入另一个。我懒得想复杂的功能了,以下代码可以成功执行的情况:

  • 把代码保存为.py文件,放到希望整合srt的目录
  • 该目录下有且只有2个.srt文件
  • 文件名以.combined.srt结尾的文件就是咱们需要的了

脚本源码:

#coding=utf-8
from __future__ import unicode_literals
import os

srtFiles= [ i for i in os.listdir(os.getcwd()) if i.endswith('.srt')]
srtFiles.sort()
assert len(srtFiles) ==2
with open(srtFiles[0],'r') as f1:
    with open(srtFiles[1],'a') as f2:
        f2.writelines(f1.readlines())
os.rename(srtFiles[1],os.path.splitext(srtFiles[1])[0] +'.combined.srt')

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s