ass translation python(ass字幕文件半自动平移时间轴py脚本)

 1 # -*- coding: UTF-8 -*-
 2
 3 ‘‘‘
 4 只适用于下面这种形式的ass文件
 5 [Events]
 6 Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
 7 Dialogue: 0,0:1:30.19,0:1:32.89,Default,,0000,0000,0000,,{\t(1308,2700,\1c&H000000&\3c&H000000&\4c&H000000&)}没有啊...
 8 ‘‘‘
 9
10 # t1:t2:t3.t4
11 # 00:01:30.19
12 def trans(s, t1, t2, t3, t4):
13     s1 = s.split(‘:‘)
14     time1, time2 = int(s1[0]), int(s1[1])
15     time3, time4 = map(int, s1[2].split(‘.‘))
16
17     time1 += t1
18     time2 += t2
19     time3 += t3
20     time4 += t4
21
22     while time4 >= 100:
23         time4 -= 100
24         time3 += 1
25     while time4 < 0:
26         time4 += 100
27         time3 -= 1
28
29     while time3 >= 60:
30         time3 -= 60
31         time2 += 1
32     while time3 < 0:
33         time3 += 60
34         time2 -= 1
35
36     while time2 >= 60:
37         time2 -= 60
38         time1 += 1
39     while time2 < 0:
40         time2 += 60
41         time1 -= 1
42
43     return str(time1) + ‘:‘ + str(time2) + ‘:‘ + str(time3) + ‘.‘ + str(time4)
44
45 # 修改字幕文件名称
46 f = open(‘src.ass‘, ‘r‘, encoding=‘UTF-8‘)
47 fo = open(‘des.ass‘, ‘w‘, encoding=‘UTF-8‘)
48 lines = f.readlines()
49 for line in lines:
50     if line[:8] == ‘Dialogue‘:
51         lis = line.split(‘,‘)
52         st = lis[1]
53         ed = lis[2]
54         # 修改时间差
55         new_st = trans(st, 0, 0, 10, 0)
56         new_ed = trans(ed, 0, 0, 10, 0)
57         lis[1] = new_st
58         lis[2] = new_ed
59         new_line = ‘,‘.join(lis)
60         fo.write(new_line)
61     else:
62         fo.write(line)
63 f.close()
64 fo.close()

原文地址:https://www.cnblogs.com/hexsix/p/11221961.html

时间: 2024-10-24 15:35:05

ass translation python(ass字幕文件半自动平移时间轴py脚本)的相关文章

字幕文件处理(1) - 时间格式与整数格式互转

摘要 一个字幕文件一般包含两部分内容:时间索引和脚本内容.一般,常见的字幕文件格式有WebVTT, SRT和TTML. 编辑字幕文件就是对每一段字幕的时间索引或脚本内容进行编辑.也包括对字幕文件的格式进行转换,参考字幕文件处理(2) - 字幕文件格式转化. 拿WebVTT来说,它支持如下两种格式的时间索引: l    mm:ss.ttt l    hh:mm:ss.ttt 而对于SRT文件格式,它的时间索引可能是这个样子的: l    hh:mm:ss,ttt 编辑时间索引时,如果将时间格式转化

python getatime() 查看文件的访问时间

import time,os def main(): file_name=r'C:\Temp\Req.xml' file_times_access=time.localtime(os.path.getatime(file_name)) year_access=file_times_access.tm_year month_access=file_times_access.tm_mon day_access=file_times_access.tm_mday hour_access=file_ti

Python打包EXE文件

Python程序打包工具 Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安装包就是这样做的). .pyc文件:有些公司或个人因为机密或者各种原因,不愿意源码被运行者看到,可以使用pyc文件发布,pyc文件是Python解释器可以识别的二进制码,故发布后也是跨平台的,需要使用者安装相应版本的Python和依赖库. 可执行文件:对于非码农用户或者一些

Python生成exe文件

一.简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序.py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序.py2exe是发布在开源许可证下的.目前只有python2.x的才有对应版本的. 二.安装py2exe 从http://prdownloads.sour

python 修改文件的创建时间、修改时间、访问时间

目录 python 修改文件创建.修改.访问时间 方案一 方案二(无法修改文件创建时间) python 修改文件创建.修改.访问时间 突如其来想知道一下 python 如何修改文件的属性(创建.修改.访问时间),于是就去网上搜集了可行方案,也就有了这篇博客 方案一 参考博客:python修改任意文件的创建时间.修改时间.访问时间 from win32file import CreateFile, SetFileTime, GetFileTime, CloseHandle from win32fi

Notepad++ 使用Python 插件批量 转换文本文件(字幕文件) 为 UTF8

有时候从网上下载了中英文的字幕文件,字符编码是ANSI的,需要转换为UTF-8的编码格式. 或者其他的文本文件需要转换为UTF8格式.可以实现批量转换. 在Notepad++安装Python Script 插件 打开插件管理器 在Search搜索框中输入:Python Script  , 然后选择插件,再点击Install 安装. 提示重启安装,选择 Y 是 弹出对话框,下载安装插件 Notepad++ 重启后,按下图操作 输入以下代码然后保存. import os; import sys; p

python处理word文件:win32com用法详解

目标:用python处理doc文件 方法:引入win32com模块 ************************************************************************** 一.安装 ************************************************************************** 首先要先下载安装win32com模块(起先在linux下装不成功,后在windows下面成功了...) 下载地址:http

Python 基础 - Json文件读写

JSON介绍 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C.C++.Java.JavaScript.Perl.Python等).这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率). 在python中,JSON 由列表和字典组成. 序列化的两个模块中,json模块是用于

盒子外挂字幕文件和音轨文件的测试结果

设备: Q5 四代; DLNA手机让NAS推送视频给盒子播放 注意:DLNA推送的时候必须是内封字幕 或者是 硬字幕 外挂字幕都不支持 这个是目前DLNA协议的硬伤 外挂字幕:   Q5自带播放器: (不支持.sup外挂字幕文件) 蓝光原盘有两种,一种是iso格式,另一种是BDMV目录格式.海美迪Q5对于这两种蓝光原盘,都支持外挂字幕. 对于ISO格式,把外挂字幕与ISO文件放在一起,文件的基本名相同,就可以了,例如:S-e-x.and.Zen.2011.HK.3D.BluRay.1080p.D