基于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之有容乃大的list(3)
Sep 15 Python
Django中使用group_by的方法
May 26 Python
使用Mixin设计模式进行Python编程的方法讲解
Jun 21 Python
Python SVM(支持向量机)实现方法完整示例
Jun 19 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
使用Python创建简单的HTTP服务器的方法步骤
Apr 26 Python
利用pyinstaller打包exe文件的基本教程
May 02 Python
使用 Python 在京东上抢口罩的思路详解
Feb 27 Python
python多进程使用函数封装实例
May 02 Python
Python打印特殊符号及对应编码解析
May 07 Python
python实现canny边缘检测
Sep 14 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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
将数字格式的计算结果转为汉字格式
2006/10/09 PHP
php实现的常见排序算法汇总
2014/09/08 PHP
分析php://output和php://stdout的区别
2018/05/06 PHP
PHP的PDO事务与自动提交
2019/01/24 PHP
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
跟我学Nodejs(一)--- Node.js简介及安装开发环境
2014/05/20 NodeJs
jQuery解决input超多的表单提交
2015/08/10 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
AngularJS ngModel实现指令与输入直接的数据通信
2016/09/21 Javascript
Vue.js 实现微信公众号菜单编辑器功能(一)
2018/05/08 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
JavaScript查看代码运行效率console.time()与console.timeEnd()用法
2019/01/18 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
理解JavaScript中的对象
2020/08/25 Javascript
python实现apahce网站日志分析示例
2014/04/02 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
pycharm修改界面主题颜色的方法
2019/01/17 Python
详解Selenium+PhantomJS+python简单实现爬虫的功能
2019/07/14 Python
Python适配器模式代码实现解析
2019/08/02 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
python list的index()和find()的实现
2020/11/16 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
Mytheresa中国官网:德国时尚奢侈品商城
2017/08/04 全球购物
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
澳大利亚床上用品、浴巾和家居用品购物网站:Bambury
2020/04/16 全球购物
土木工程毕业生自荐信
2013/09/21 职场文书
超市营业员求职简历的自我评价
2013/10/17 职场文书
一位农村小子的自荐信
2014/04/07 职场文书
小学清明节活动总结
2014/07/04 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
2014年教育教学工作总结
2014/11/13 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书