python修改srt字幕的时间轴


# -*- 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())


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM