基于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实现视频下载功能
Mar 14 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
python处理multipart/form-data的请求方法
Dec 26 Python
Django高级编程之自定义Field实现多语言
Jul 02 Python
解决pycharm启动后总是不停的updating indices...indexing的问题
Nov 27 Python
pycharm 代码自动补全的实现方法(图文)
Sep 18 Python
Python中的特殊方法以及应用详解
Sep 20 Python
Python操作word文档插入图片和表格的实例演示
Oct 25 Python
python基于exchange函数发送邮件过程详解
Nov 06 Python
Python机器学习算法之决策树算法的实现与优缺点
May 13 Python
python 如何将两个实数矩阵合并为一个复数矩阵
May 19 Python
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 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
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
PHP使用curl制作简易百度搜索
2016/11/03 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
javascript结合html5 canvas实现(可调画笔颜色/粗细/橡皮)的涂鸦板
2013/04/27 Javascript
JS合并数组的几种方法及优劣比较
2014/09/19 Javascript
jquery实现带缩略图的全屏图片画廊效果实例
2015/06/25 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
javascript HTML5文件上传FileReader API
2020/03/27 Javascript
javascript的BOM
2016/05/03 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
什么是JavaScript中的结果值?
2016/10/08 Javascript
Angularjs 事件指令详细整理
2017/07/27 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
vue获取dom元素注意事项
2017/12/28 Javascript
原生JS实现多个小球碰撞反弹效果示例
2018/01/31 Javascript
JavaScript变量作用域及内存问题实例分析
2019/06/10 Javascript
微信小程序引入Vant组件库过程解析
2019/08/06 Javascript
微信小程序实现吸顶特效
2020/01/08 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
three.js如何实现3D动态文字效果
2021/03/03 Javascript
[13:39]2014 DOTA2华西杯精英邀请赛 5 25 NewBee VS DK第一场
2014/05/26 DOTA
python编程使用协程并发的优缺点
2018/09/20 Python
HTML5计时器小例子
2013/10/15 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
如何用H5实现一个触屏版的轮播器的实例
2017/01/09 HTML / CSS
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
Eton丹麦官网:精美的男式衬衫
2020/05/27 全球购物
电子商务专业个人的自我评价分享
2013/10/29 职场文书
企业统计员岗位职责
2013/12/13 职场文书
毕业生自荐书
2013/12/18 职场文书
国家领导干部党的群众路线教育实践活动批评与自我批评材料
2014/09/23 职场文书
员工辞职信范文
2015/03/02 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
2015秋季开学典礼致辞
2015/07/16 职场文书
七年级之家长会发言稿范文
2019/09/04 职场文书