基于python修改srt字幕的时间轴


Posted in Python onFebruary 03, 2020

这篇文章主要介绍了基于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())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python实现将xml导入至excel
Nov 20 Python
python虚拟环境virualenv的安装与使用
Dec 18 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
Nov 17 Python
Python解决走迷宫问题算法示例
Jul 27 Python
解决python中 f.write写入中文出错的问题
Oct 31 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
浅谈python中get pass用法
Mar 19 Python
Django重置migrations文件的方法步骤
May 01 Python
解决Django删除migrations文件夹中的文件后出现的异常问题
Aug 31 Python
Python读写压缩文件的方法
Jul 30 Python
python使用dlib进行人脸检测和关键点的示例
Dec 05 Python
Python尝试实现蒙特卡罗模拟期权定价
Apr 21 Python
Python实现不规则图形填充的思路
Feb 02 #Python
Python ORM编程基础示例
Feb 02 #Python
Python 面向对象之类class和对象基本用法示例
Feb 02 #Python
flask 框架操作MySQL数据库简单示例
Feb 02 #Python
python orm 框架中sqlalchemy用法实例详解
Feb 02 #Python
使用Python操作ArangoDB的方法步骤
Feb 02 #Python
详解有关PyCharm安装库失败的问题的解决方法
Feb 02 #Python
You might like
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
PHP简洁函数小结
2011/08/12 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
2015/08/18 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
javascript 数组的方法集合
2008/06/05 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
js获取url中指定参数值的示例代码
2013/12/14 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
简单纯js实现点击切换TAB标签实例
2015/08/23 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
MVC Ajax Helper或Jquery异步加载部分视图
2015/11/29 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
基于Angularjs+mybatis实现二级评论系统(仿简书)
2017/02/13 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
JS添加或删除HTML dom元素的方法实例分析
2019/03/05 Javascript
python函数缺省值与引用学习笔记分享
2013/02/10 Python
python表格存取的方法
2018/03/07 Python
Python实现查看系统启动项功能示例
2018/05/10 Python
python中的字符串内部换行方法
2018/07/19 Python
Python基础教程之if判断,while循环,循环嵌套
2019/04/25 Python
python多线程http压力测试脚本
2019/06/25 Python
Python matplotlib绘制饼状图功能示例
2019/09/10 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
CSS3模块的目前的状况分析
2010/02/24 HTML / CSS
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
船餐厅和泰晤士河餐饮游轮:Bateaux London
2018/03/19 全球购物
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
司法工作人员群众路线对照检查材料思想汇报
2014/09/30 职场文书
网站出售协议书范文
2014/10/10 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
乌镇导游词
2015/02/02 职场文书
Python OpenGL基本配置方式
2022/05/20 Python