码迷,mamicode.com
首页 > 编程语言 > 详细

python修改srt字幕的时间轴

时间:2020-01-19 09:14:49      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:def   pat   readline   join   main   dir   dirname   file   pre   

# -*- coding: utf-8 -*-
# @时间 : 2020-01-19 02:53
# @作者 : 陈祥安
# @文件名 : run.py.py
# @公众号: Python学习开发

import os
import datetime

temp = os.path.dirname(__file__)
srt_file_path = os.path.join(temp, "15.srt")


def read_srt_file_gen():
    with open(srt_file_path, "r") as fs:
        for data in fs.readlines():
            yield data


def read_srt_file():
    with open(srt_file_path, "r") as fs:
        data = fs.read()
    return data


def start():
    new_data_str = read_srt_file()
    for item in read_srt_file_gen():
        if "--> " in item:
            time_arr = item.split('--> ')
            start_time = time_arr[0].replace(" ", "")
            end_time = time_arr[1].replace("\n", "")
            _new_start_time = datetime.datetime.strptime(start_time + "0", "%H:%M:%S,%f") - datetime.timedelta(
                seconds=1)
            _new_end_time = datetime.datetime.strptime(end_time + "0", "%H:%M:%S,%f") - datetime.timedelta(
                seconds=1)
            new_start_time = datetime.datetime.strftime(_new_start_time, "%H:%M:%S,%f")[:-3]
            new_end_time = datetime.datetime.strftime(_new_end_time, "%H:%M:%S,%f")[:-3]
            new_data_str = new_data_str.replace(start_time, new_start_time).replace(end_time, new_end_time)
    return new_data_str


if __name__ == '__main__':
    print(start())

python修改srt字幕的时间轴

标签:def   pat   readline   join   main   dir   dirname   file   pre   

原文地址:https://www.cnblogs.com/c-x-a/p/12210909.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!