起因
使用弹弹Play看番时字幕过大,大概长这样:
于是我便开始寻找解决办法
解决之路
首先,查看是不是弹弹Play的问题。
使用PotPlayer观看是这样:
显然是弹弹Play的问题,在尝试更换播放器内核等一系列操作后,仍然没有解决。于是,我打算更换字幕试试。
然鹅,虽然找到了字体正常的字幕,但是时间轴却和这个视频不对应…看来得尝试其他方法。
终于,在字幕设置的右下角发现了这个:
一查证,果然如此!但是用手一个一个地修改太浪费时间了,我立马想到python可以帮我。
使用python批量修改这些文件
- 需求:在每个字幕
(.ass)
文件开头一行加上[Script Info]
- 额外需求:以后遇到相似问题,小改代码还能接着用
所以,基本思路是:
- 获取文件路径
- 打开并修改文件
在此过程中,我遇到了一些问题和困难:
- 每个字幕文件名尽管遵循一定规则,但是不仅仅有数字(集数)上的差异,还有几个我找不出规律的字母。 其中的"E43C438E"
我打算使用正则表达式来解决这个问题,但是一搜,还是比较麻烦。最后还是在这篇文章的引导下,获取了所有符合要求的文件名。
from os import listdir
path0 = "你要搜的文件夹"
flist = listdir(path0) #使用listdir()函数获取所有的文件名,保存到名为flist的list变量里
flist_need = [] #存放所需的名字
for i in range(