import os
from openai import OpenAI
# 初始化DeepSeek客户端
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命名,无需额外解释。"
)
# 调用DeepSeek API
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:
# 生成新的INFUSE命名
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}")
Deepseek实现本地电影文件批量重命名为infuse格式,可匹配IMDB
最新推荐文章于 2025-02-11 17:51:16 发布