基于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解析文件示例
Jan 23 Python
Python中asyncore的用法实例
Sep 29 Python
Python中方法链的使用方法
Feb 23 Python
Python+matplotlib绘制不同大小和颜色散点图实例
Jan 19 Python
python矩阵转换为一维数组的实例
Jun 05 Python
Python+OpenCV图片局部区域像素值处理详解
Jan 23 Python
基于python历史天气采集的分析
Feb 14 Python
pyqt5 使用cv2 显示图片,摄像头的实例
Jun 27 Python
python爬虫模块URL管理器模块用法解析
Feb 03 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
python实现图像外边界跟踪操作
Jul 13 Python
python实现移动木板小游戏
Oct 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
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
2013/06/14 PHP
PHP三种方式实现链式操作详解
2017/01/21 PHP
使用laravel的Eloquent模型如何获取数据库的指定列
2019/10/17 PHP
javascript数字数组去重复项的实现代码
2010/12/30 Javascript
javascript学习笔记(九) js对象 设计模式
2012/06/19 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
JavaScript来实现打开链接页面的简单实例
2016/06/02 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
jquery实现异步加载图片(懒加载图片一种方式)
2017/04/24 jQuery
Vue声明式渲染详解
2017/05/17 Javascript
Javascript调试之console对象——你不知道的一些小技巧
2017/07/10 Javascript
node.js实现微信JS-API封装接口的示例代码
2017/09/06 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
如何使用puppet替换文件中的string
2018/12/06 Javascript
浅谈webpack性能榨汁机(打包速度优化)
2019/01/09 Javascript
JavaScript从原型到原型链深入理解
2019/06/03 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
Vue 封装防刷新考试倒计时组件的实现
2020/06/05 Javascript
Python wxPython库使用wx.ListBox创建列表框示例
2018/09/03 Python
python画图--输出指定像素点的颜色值方法
2019/07/03 Python
python PIL和CV对 图片的读取,显示,裁剪,保存实现方法
2019/08/07 Python
python自动化实现登录获取图片验证码功能
2019/11/20 Python
Matplotlib scatter绘制散点图的方法实现
2020/01/02 Python
基于pytorch 预训练的词向量用法详解
2020/01/06 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
canvas烟花特效锦集
2018/01/17 HTML / CSS
全陪导游欢迎词
2014/01/17 职场文书
银行员工辞职信范文
2014/01/20 职场文书
信用社员工先进事迹材料
2014/02/04 职场文书
运动会的口号
2014/06/09 职场文书
2014领导班子四风问题查摆思想汇报
2014/09/13 职场文书
Python趣味实战之手把手教你实现举牌小人生成器
2021/06/07 Python
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android