基于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 相关文章推荐
Django中实现点击图片链接强制直接下载的方法
May 14 Python
浅谈Python实现2种文件复制的方法
Jan 19 Python
python批量从es取数据的方法(文档数超过10000)
Dec 27 Python
对python中大文件的导入与导出方法详解
Dec 28 Python
windows上安装python3教程以及环境变量配置详解
Jul 18 Python
对python中的装包与解包实例详解
Aug 24 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Python有参函数使用代码实例
Jan 06 Python
详解python如何引用包package
Jun 07 Python
Pycharm中配置远程Docker运行环境的教程图解
Jun 11 Python
python3.9实现pyinstaller打包python文件成exe
Dec 13 Python
Python中快速掌握Data Frame的常用操作
Mar 31 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
Yii2隐藏frontend/web和backend/web的方法
2015/12/12 PHP
浅析Yii2集成富文本编辑器redactor实例教程
2016/04/25 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
2020/02/21 PHP
javascript延时重复执行函数 lLoopRun.js
2007/06/29 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
2011/10/11 Javascript
jQuery根据纬度经度查看地图处理程序
2013/05/08 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
jQuery实现切换隐藏与显示同时切换图标功能
2017/10/29 jQuery
JS中常用的消息框总结
2018/02/24 Javascript
说说Vue.js中的functional函数化组件的使用
2019/02/12 Javascript
通过实例了解js函数中参数的传递
2019/06/15 Javascript
微信小程序下拉框搜索功能的实现方法
2019/07/31 Javascript
weui中的picker使用js进行动态绑定数据问题
2019/11/06 Javascript
Python异常处理操作实例详解
2018/08/28 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
Python笔试面试题小结
2019/09/07 Python
python画蝴蝶曲线图的实例
2019/11/21 Python
利用Tensorboard绘制网络识别准确率和loss曲线实例
2020/02/15 Python
python 负数取模运算实例
2020/06/03 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
出纳员的岗位职责
2014/02/22 职场文书
网络编辑求职信
2014/04/30 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
个人承诺书怎么写
2014/05/24 职场文书
幽默导游词开场白
2015/05/29 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers