import os
from openai import OpenAI
client = OpenAI(api_key="<DeepSeek API Key>", base_url="https://api.deepseek.com")def parse_filename_with_deepseek(filename):"""使用DeepSeek API解析文件名并生成INFUSE命名"""prompt = (f"请根据以下文件名结合IMDB生成符合INFUSE规范的命名,要求包含标题、年份、分辨率、版本(如果有)、音频和字幕信息。"f"文件名: {filename}\n"f"INFUSE命名格式示例: 《标题》(年份) [分辨率-编码类型][音频格式][字幕].扩展名\n"f"请直接返回INFUSE命名,无需额外解释。")response = client.chat.completions.create(model="deepseek-chat",messages=[{"role": "system", "content": "你是一个电影命名专家,擅长根据文件名生成符合INFUSE规范的命名。"},{"role": "user", "content": prompt},],stream=False)return response.choices[0].message.content.strip()def batch_rename_files(directory):"""批量重命名文件夹中的文件"""supported_extensions = (".mp4", ".mkv", ".avi", ".mov", ".flv", ".wmv")for filename in os.listdir(directory):if filename.lower().endswith(supported_extensions):file_path = os.path.join(directory, filename)try:new_filename = parse_filename_with_deepseek(filename)new_file_path = os.path.join(directory, new_filename)os.rename(file_path, new_file_path)print(f"重命名成功: {filename} -> {new_filename}")except Exception as e:print(f"重命名失败: {filename} ({e})")
directory = "/path/to/your/folder"
if os.path.isdir(directory):batch_rename_files(directory)
else:print(f"错误: 文件夹路径无效 {directory}")