当前位置: 首页 > news >正文

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 APIresponse = 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}")
http://www.lryc.cn/news/527142.html

相关文章:

  • Nginx部署的前端项目刷新404问题
  • Boot 系统选择U启动
  • XSLT 编辑 XML:深度解析与实际应用
  • 项目文章 | PNAS 斑马鱼转录因子ChIP-seq助力解析GATA6突变相关的肝脏疾病机制
  • easyexcel-导入(读取)(read)-示例及核心部件
  • 作业day3
  • 第五节 MATLAB命令
  • Oracle 普通用户连接hang住处理方法
  • 理解C++中的右值引用
  • 02-机器学习-核心概念
  • 1.26 实现文件拷贝的功能
  • ES6+新特性,var、let 和 const 的区别
  • HarmonyOS简介:HarmonyOS核心技术理念
  • 嵌入式C语言:结构体对齐
  • 【Rust自学】15.5. Rc<T>:引用计数智能指针与共享所有权
  • 谈谈RTMP|RTSP播放器视频view垂直|水平反转和旋转设计
  • decison tree 决策树
  • GO语言 链表(单向链表
  • Java:初识Java
  • Spring WebSocket 与 STOMP 协议结合实现私聊私信功能
  • 从0到1:C++ 开启游戏开发奇幻之旅(一)
  • 基于Flask的哔哩哔哩综合指数UP榜单数据分析系统的设计与实现
  • 在php中怎么打开OpenSSL
  • oracle 分区表介绍
  • wxwidgets直接获取系统图标,效果类似QFileIconProvider
  • Arduino大师练成手册 -- 控制 PN532 NFC 模块
  • 解决日志中 `NOT NULL constraint failed` 异常的完整指南
  • C动态库的生成与在Python和QT中的调用方法
  • UE求职Demo开发日志#7 强化属性完善
  • Day35:字符串的大小写转换