利用Python批量修改多个ass字幕文件

原文

起因

使用弹弹Play看番时字幕过大,大概长这样:

于是我便开始寻找解决办法

解决之路

首先,查看是不是弹弹Play的问题。
使用PotPlayer观看是这样:

显然是弹弹Play的问题,在尝试更换播放器内核等一系列操作后,仍然没有解决。于是,我打算更换字幕试试。

然鹅,虽然找到了字体正常的字幕,但是时间轴却和这个视频不对应…看来得尝试其他方法。

终于,在字幕设置的右下角发现了这个:

一查证,果然如此!但是用手一个一个地修改太浪费时间了,我立马想到python可以帮我。

使用python批量修改这些文件

  • 需求:在每个字幕(.ass)文件开头一行加上[Script Info]
  • 额外需求:以后遇到相似问题,小改代码还能接着用

所以,基本思路是:

  1. 获取文件路径
  2. 打开并修改文件

在此过程中,我遇到了一些问题和困难:

  1. 每个字幕文件名尽管遵循一定规则,但是不仅仅有数字(集数)上的差异,还有几个我找不出规律的字母。 其中的"E43C438E"

我打算使用正则表达式来解决这个问题,但是一搜,还是比较麻烦。最后还是在这篇文章的引导下,获取了所有符合要求的文件名。

from os import listdir
path0 = "你要搜的文件夹"

flist = listdir(path0) #使用listdir()函数获取所有的文件名,保存到名为flist的list变量里
flist_need = [] #存放所需的名字

for i in range(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值