You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用OpenAI-Whisper转录视频时遇FileNotFoundError问题求助

问题原因

你用os.listdir(directory)获取的是纯文件名,而model.transcribe()需要的是文件的完整路径。如果脚本运行时的当前工作目录(非脚本所在目录)和视频文件所在目录不一致,就会触发找不到文件的错误。

修复方案

修改代码,将文件名与脚本所在目录拼接成完整路径:

import whisper
import os

directory = os.path.dirname(os.path.abspath(__file__))
start = 0
videoList = []

for file in os.listdir(directory):
    if file.endswith('.mp4'):
        # 拼接视频文件的完整路径
        full_video_path = os.path.join(directory, file)
        videoList.append(full_video_path)

model = whisper.load_model('base')

for video in videoList:
    start += 1
    result = model.transcribe(video)

    # 给输出文件也指定完整路径,确保生成在脚本同目录下
    output_file_path = os.path.join(directory, f"Video {start} transcription.txt")
    with open(output_file_path, "w", encoding="utf-8") as f:
        f.write(result["text"] + '\n')
额外说明
  • 添加encoding="utf-8"是为了避免中文等非ASCII字符写入文件时出现编码错误
  • 输出文件指定完整路径,能确保转录文件和视频文件保存在同一目录,方便管理

内容的提问来源于stack exchange,提问作者aloo_q

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 07:48:11