基于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 16 Python
Python中字符串的修改及传参详解
Nov 30 Python
Python tkinter模块中类继承的三种方式分析
Aug 08 Python
python实现判断一个字符串是否是合法IP地址的示例
Jun 04 Python
pytorch + visdom 处理简单分类问题的示例
Jun 04 Python
python 循环读取txt文档 并转换成csv的方法
Oct 26 Python
Python Collatz序列实现过程解析
Oct 12 Python
Python tkinter布局与按钮间距设置方式
Mar 04 Python
Python基于read(size)方法读取超大文件
Mar 12 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
python读取excel进行遍历/xlrd模块操作
Jul 12 Python
Python如何让字典保持有序排列
Apr 29 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 一个随机字符串生成代码
2010/05/26 PHP
php 定界符格式引起的错误
2011/05/24 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
Thinkphp实现短信验证注册功能
2016/10/18 PHP
php 判断IP为有效IP地址的方法
2018/01/28 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
Ajax,UTF-8还是GB2312 eval 还是execScript
2008/11/13 Javascript
Jquery validation remote 验证的缓存问题解决方法
2014/03/25 Javascript
node.js中的fs.utimes方法使用说明
2014/12/15 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
javascript经典特效分享 手风琴、轮播图、图片滑动
2016/09/14 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
2016/09/20 Javascript
js学习笔记之事件处理模型
2016/10/31 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
BackBone及其实例探究_动力节点Java学院整理
2017/07/14 Javascript
原生js实现移动端触摸轮播的示例代码
2017/12/22 Javascript
vue移动端的左右滑动事件详解
2020/06/17 Javascript
Python 获取新浪微博的最新公共微博实例分享
2014/07/03 Python
Python简明入门教程
2015/08/04 Python
python迭代器与生成器详解
2016/03/10 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Python使用gRPC传输协议教程
2018/10/16 Python
python三方库之requests的快速上手
2019/03/04 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
使用python爬取抖音视频列表信息
2019/07/15 Python
python中update的基本使用方法详解
2019/07/17 Python
详解CSS3中使用gradient实现渐变效果的方法
2015/08/18 HTML / CSS
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
大学生最常用的自我评价
2013/12/07 职场文书
四好少年事迹材料
2014/01/12 职场文书
教师读书笔记
2015/06/29 职场文书
JavaScript 防篡改对象的用法示例
2021/04/24 Javascript
Python学习之os包使用教程详解
2022/03/21 Python