说到批量处理文件,尤其是给一堆字幕文件改名,这事儿干过几次就知道有多烦。假设你有这样一个场景:一个主文件夹下面分了多个子文件夹,每个子文件夹里都躺着若干个.srt字幕文件,文件名中带着“English”字样和多余的空格,你想把它们全部清理干净,只保留干净的文件名。手动一个个改?几十上百个文件改下来,手都酸了。用Python脚本一步到位,才是正经。
子文件夹里的文件长这样——文件名里夹着“English”和空格,看着就不够清爽。
好,直接上操作流程。整个事情分三步走,每一步都讲清楚,保证你跟着做就能搞定。
第一步,让AI帮你搭脚本框架。
打开Kimi(或者其他你习惯的对话式AI),输入下面这段提示词。注意,提示词是灵魂,把需求描述得越精确,AI给你的代码就越靠谱:
你是一个Python编程高手,一步步的思考,来编写下面任务的Python脚本:
打开文件夹:"D:ChatGPT and LangChain The Complete Developers Masterclass"
读取里面所有子文件夹中srt后缀的文件;
删除srt文件主名中的字符“English”,如果“English”字符和前面字符之间有空格,也删除掉;
重命名文件,保持后缀不变
示例如下:
原文件名:1 - How to Get Help English.srt
重命名后的文件名:1 - How to Get Help.srt
注意:每一步都要输出相关信息到屏幕
所有生成的Python代码要整合在一起,不要一段一段的;
第二步,审阅AI给出的代码。
Kimi会生成一段完整的Python脚本,像下面这样。别直接复制就跑,先花一分钟读一读,确认逻辑没问题——循环遍历子文件夹、检查后缀、替换“ English”和“English”、重命名,每一步都有打印信息,清晰明了。
import os
# 设置文件夹路径
folder_path = "D:\ChatGPT and LangChain The Complete Developers Masterclass"
# 遍历文件夹
for root, dirs, files in os.walk(folder_path):
for file in files:
# 检查文件后缀是否为srt
if file.endswith(".srt"):
# 获取文件的完整路径
file_path = os.path.join(root, file)
print(f"正在处理文件:{file_path}")
# 检查文件名中是否包含"English"
if "English" in file:
# 删除文件名中的"English"及其前后的空格
new_filename = file.replace(" English", "").replace("English", "")
new_file_path = os.path.join(root, new_filename)
# 重命名文件
os.rename(file_path, new_file_path)
print(f"文件已重命名:从'{file}' 到 '{new_filename}'")
else:
print(f"文件'{file}'中不包含'English',无需重命名。")
print("所有符合条件的文件已处理完毕。")
第三步,在VS Code中运行脚本。
打开Visual Studio Code,新建一个.py文件,把上面的代码复制进去,直接按F5运行。程序会逐层遍历文件夹,遇到.srt文件就检测,如果包含“English”就替换掉,并把每一步结果打印在终端里。运行效果如下:
从终端输出可以清楚看到,每个文件是怎么从原名变成新名的。整个过程也就几秒钟,几十个文件瞬间改好,比手动操作省心太多了。下次遇到类似的批量改名需求,改改路径和替换规则,这套思路直接复用就行。
