很多视频文件,需要重命名,将文件名中的多余信息去掉,只保留剧集编号和剧集名称,并将剧集编号和名称用连字符连接:
在deepseek中输入提示词:
写一个Python脚本,具体任务步骤如下:
打开文件夹:E:\avideo
读取里面的所有的视频文件,包括mkv和webm格式;
重命名视频文件,将文件名中的多余信息去掉,只保留剧集编号和剧集名称,并将剧集编号和名称用连字符连接。
举例如下:
Leo and Tig - Goodbye Theodor - Episode 13 - Funny Family Good Animated Cartoon for Kids.mkv,这个文件应该重命名为:Episode 13- Goodbye Theodor.mkv,
Leo and Tig - The Mysterious Cave - Episode 2 - Funny Family Good Animated Cartoon for Kids.mkv,这个文件应该重命名为:Episode 2- The Mysterious Cave.mkv,
Leo and Tig - Little Blizzy - Episode 15 - Funny Family Good Animated Cartoon for Kids.webm,这个文件应该重命名为:Episode 15- Little Blizzy.webm,
Leo and Tig The Little Trickster - Episode 49 Funny Family Animated Cartoon for Kids.mkv,这个文件应该重命名为:Episode 49- The Little Trickster.mkv,
注意:每个步骤都要输出信息到屏幕上
Deepseek生成源代码:
import os
import re
def rename_files(directory):
for filename in os.listdir(directory):
if filename.endswith('.mkv') or filename.endswith('.webm'):
print(f"Processing file: {filename}")
match = re.search(r'Episode (\d+)[^\w]*([^.]+)', filename)
if match:
episode_number = match.group(1)
episode_name = match.group(2).strip()
new_filename = f"Episode {episode_number}- {episode_name}{os.path.splitext(filename)[1]}"
print(f"Renaming to: {new_filename}")
old_file_path = os.path.join(directory, filename)
new_file_path = os.path.join(directory, new_filename)
os.rename(old_file_path, new_file_path)
print(f"File renamed successfully: {new_filename}\n")
else:
print(f"Could not extract episode number and name from: {filename}\n")
else:
print(f"Skipping non-video file: {filename}\n")
if __name__ == "__main__":
directory = r"E:\avideo"
print(f"Opening directory: {directory}")
rename_files(directory)
print("All files processed.")
脚本说明:
导入模块:导入os和re模块,分别用于文件操作和正则表达式处理。
rename_files函数:定义一个函数来处理文件重命名。
遍历指定目录中的所有文件。
检查文件是否为.mkv或.webm格式。
使用正则表达式提取剧集编号和名称。
构建新的文件名并重命名文件。
在每个步骤输出信息到屏幕上。
主程序:指定目录路径并调用rename_files函数。
使用方法:
将脚本保存为.py文件。
确保目标目录E:\avideo存在并且包含需要重命名的视频文件。
运行脚本,观察输出信息以确认文件是否被正确重命名。
注意事项:
请确保在运行脚本之前备份重要文件,以防意外操作导致数据丢失。
如果文件名格式与示例不一致,可能需要调整正则表达式以适应不同的命名模式。