Deepseek实现本地电影文件批量重命名为infuse格式,可匹配IMDB

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}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值