网上下载了Netflix的三体电视剧,但没有字幕,又从字幕网站下载了字幕文件,由于字幕文件和视频文件标题有差异,需要全部进行重命名
在kimichat中输入提示词:
你是一个Python编程专家,现在要完成一个编写Python脚本对文件进行重命名的任务,具体步骤如下:
打开文件夹:E:\纪录片\3-body-problem
读取mkv格式的视频文件,截取视频文件标题中第三个”.”和第四个”.”之间的字符,比如“3.Body.Problem.S01E01.720p.NF.WEBRip.x264-GalaxyTV.mkv”这个视频文件应该截取出字符“S01E01”;
查找文件夹中包含“S01E01”字符的srt字幕文件,比如“3 Body Problem S01E01.srt”;
将srt文件根据对应的视频文件标题进行重命名,比如:“3 Body Problem S01E01.srt”应该重命名为:3.Body.Problem.S01E01.720p.NF.WEBRip.x264-GalaxyTV.srt
运行后,有错误,将错误反馈给kimichat:
Kimichat会自己进行修正,这是修正后的Python代码:
import os
import re
# 设置文件夹路径
folder_path = 'E:\\纪录片\\3-body-problem'
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
# 匹配mkv视频文件
if filename.endswith('.mkv'):
# 使用正则表达式找到视频文件标题中的季和集编号(例如 "S01E01")
episode_id_match = re.search(r'(S\d+E\d+)\.', filename)
if episode_id_match:
# 提取季和集编号
episode_id = episode_id_match.group(1)
# 构建新的字幕文件名
new_srt_filename = f'3.Body.Problem.{episode_id}.720p.NF.WEBRip.x264-GalaxyTV.srt'
# 查找包含季和集编号的srt文件
for srt_file in os.listdir(folder_path):
# 移除文件名中可能存在的额外空格和点号
clean_srt_file = re.sub(r'\s+', ' ', srt_file).strip()
if clean_srt_file.startswith('3 Body Problem') and episode_id in clean_srt_file and clean_srt_file.endswith('.srt'):
# 重命名字幕文件
os.rename(os.path.join(folder_path, srt_file), os.path.join(folder_path, new_srt_filename))
print(f'Renamed "{srt_file}" to "{new_srt_filename}"')
# 退出循环,因为每个视频文件只需要重命名一个字幕文件
break
print('Renaming process completed.')
再次运行程序,全部srt字幕全部正确重命名。
本文分享自 Dance with GenAI 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!