ASS2SRT

from myfuncs import *

ass = glob.glob(r'*.ass')

for a in ass:
    ttt = get_extention(a)
    srt = f'{ttt[1]}.srt'
    os.system(f'ffmpeg -i "{a}" -y "{srt}"')

    with open(srt, 'r', encoding='utf8') as f:
        srt_string = f.read()

    # 去掉"<.*?>""
    srt_string = re.sub(r'<.*?>', r'', srt_string)

    # 去掉空白行
    srt_string = re.sub(r'\r', r'\n', srt_string)
    #srt_string = re.sub(r'\n\n', r'\n', srt_string)

    # 中英互换
    srt_string = re.sub(r'([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3} --> [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})\n(.*?)\n(.*?)\n', r'\1\n\3\n\2\n', srt_string)

    # 英中\t\t分离
    srt_string = re.sub(r'([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3} --> [0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})\n(.*?)\n(.*?)\n', r'\1\n\2\t\t\3\n', srt_string)


    with open(srt, 'w', encoding='utf8') as f:
        f.write(srt_string)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值