基于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的Flask框架中web表单的教程
Apr 20 Python
Python2.x版本中cmp()方法的使用教程
May 14 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
Python金融数据可视化汇总
Nov 17 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
基于循环神经网络(RNN)实现影评情感分类
Mar 26 Python
PyQT实现多窗口切换
Apr 20 Python
python实现多线程端口扫描
Aug 31 Python
Python IDE环境之 新版Pycharm安装详细教程
Mar 05 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
python获取淘宝服务器时间的代码示例
Apr 22 Python
Python if else条件语句形式详解
Mar 24 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入门教程 精简版
2009/12/13 PHP
从JavaScript 到 JQuery (1)学习小结
2009/02/12 Javascript
读jQuery之十三 添加事件和删除事件的核心方法
2011/08/23 Javascript
从QQ网站中提取的纯JS省市区三级联动菜单
2013/12/25 Javascript
jQuery中siblings()方法用法实例
2015/01/08 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
JavaScript中getUTCSeconds()方法的使用详解
2015/06/11 Javascript
四种参数传递的形式——URL,超链接,js,form表单
2015/07/24 Javascript
利用jQuery实现打字机字幕效果实例代码
2016/09/02 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
JavaScript基本类型值-Undefined、Null、Boolean
2017/02/23 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
jquery简单实现纵向的无缝滚动代码实例
2019/04/01 jQuery
jQuery实现弹出层效果
2019/12/10 jQuery
Node.js操作MongoDB数据库实例分析
2020/01/19 Javascript
Element Rate 评分的使用方法
2020/07/27 Javascript
vue-router懒加载的3种方式汇总
2021/02/28 Vue.js
[02:56]DOTA2矮人直升机 英雄基础教程
2013/11/26 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python多线程实例教程
2014/09/06 Python
Scrapy爬虫实例讲解_校花网
2017/10/23 Python
Python实现进程同步和通信的方法
2018/01/02 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
python 读取串口数据的示例
2020/11/09 Python
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
工作违纪检讨书
2014/02/17 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
难忘的一课教学反思
2014/04/30 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
公司租房协议书
2014/10/14 职场文书
歼十出击观后感
2015/06/11 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
pytorch 中nn.Dropout的使用说明
2021/05/20 Python
Vue全局事件总线你了解吗
2022/02/24 Vue.js