基于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中的RSS处理
Apr 13 Python
详解在Python程序中使用Cookie的教程
Apr 30 Python
python复制文件到指定目录的实例
Apr 27 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
pandas 如何分割字符的实现方法
Jul 29 Python
python中删除某个元素的方法解析
Nov 05 Python
如何使用python3获取当前路径及os.path.dirname的使用
Dec 13 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
Feb 05 Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
Mar 04 Python
利用python实时刷新基金估值(摸鱼小工具)
Sep 15 Python
Python用any()函数检查字符串中的字母以及如何使用all()函数
Apr 14 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
php后台如何避免用户直接进入方法实例
2013/10/15 PHP
Thinkphp将二维数组变为标签适用的一维数组方法总结
2014/10/30 PHP
php中$_POST与php://input的区别实例分析
2015/01/07 PHP
PHP中的Trait 特性及作用
2016/04/03 PHP
你不知道的文件上传漏洞php代码分析
2016/09/29 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
2019/09/26 PHP
PHP getID3类的使用方法学习笔记【附getID3源码下载】
2019/10/18 PHP
javascript学习网址备忘
2007/05/29 Javascript
jQuery 处理网页内容的实现代码
2010/02/15 Javascript
js添加table的行和列 具体实现方法
2013/07/22 Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
2013/12/12 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
javascript遇到html5的一些表单属性
2015/07/05 Javascript
jQuery排序插件tableSorter使用方法
2017/02/10 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
JavaScript Event Loop相关原理解析
2020/06/10 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
详解Python爬虫的基本写法
2016/01/08 Python
Python 描述符(Descriptor)入门
2016/11/20 Python
Django框架登录加上验证码校验实现验证功能示例
2019/05/23 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
python实现五子棋程序
2020/04/24 Python
基于K.image_data_format() == 'channels_first' 的理解
2020/06/29 Python
wordpress添加Html5的表单验证required方法小结
2020/08/18 HTML / CSS
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
英国户外装备和冒险服装零售商:alloutdoor
2018/01/30 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
应用化学专业本科生求职信
2013/09/29 职场文书
2015年除四害工作总结
2015/07/23 职场文书
反邪教教育心得体会
2016/01/15 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL