基于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实现哈希表
Feb 07 Python
python访问sqlserver示例
Feb 10 Python
Python中Django 后台自定义表单控件
Mar 28 Python
python面向对象_详谈类的继承与方法的重载
Jun 07 Python
Python3 模块、包调用&路径详解
Oct 25 Python
python实现本地图片转存并重命名的示例代码
Oct 27 Python
Python自动抢红包教程详解
Jun 11 Python
Python处理时间日期坐标轴过程详解
Jun 25 Python
python打包成so文件过程解析
Sep 28 Python
python turtle工具绘制四叶草的实例分享
Feb 14 Python
Python 使用Opencv实现目标检测与识别的示例代码
Sep 08 Python
Python实现滑雪小游戏
Sep 25 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
Protoss建筑一览
2020/03/14 星际争霸
多重?l件?合查?(二)
2006/10/09 PHP
PHP 数组基本操作方法详解
2016/06/17 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
JS中令人发指的valueOf方法介绍
2013/02/22 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
2013/05/07 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
js实现按钮控制图片360度翻转特效的方法
2015/02/17 Javascript
AngularJS整合Springmvc、Spring、Mybatis搭建开发环境
2016/02/25 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
jQuery实现的checkbox级联选择下拉菜单效果示例
2016/12/26 Javascript
RequireJs的使用详解
2017/02/19 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
2017/08/17 Javascript
理解javascript async的用法
2017/08/22 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
微信小程序云开发实现增删改查功能
2019/05/17 Javascript
微信小程序缓存支持二次开发封装实现解析
2019/12/16 Javascript
Python正则表达式的使用范例详解
2014/08/08 Python
Python中Class类用法实例分析
2015/11/12 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
Python实现PS滤镜特效Marble Filter玻璃条纹扭曲效果示例
2018/01/29 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
Python 堆叠柱状图绘制方法
2019/07/29 Python
Django框架ORM数据库操作实例详解
2019/11/07 Python
Django限制API访问频率常用方法解析
2020/10/12 Python
初中数学教学反思
2014/01/16 职场文书
教师读书活动总结
2014/05/07 职场文书
廉洁校园实施方案
2014/05/25 职场文书
档案管理员岗位职责
2015/02/12 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
Go语言grpc和protobuf
2022/04/13 Golang