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

Python无法识别已存在文件问题求助(同目录/绝对路径均无效)

问题描述
  • 运行Whisper转写MP3的Python代码时,能正常打印文件路径,但无法识别目标音频文件
  • 已尝试的操作:使用仅文件名、带完整扩展名的路径、原始字符串写法,且已更新文件权限(权限信息如下)
C:\Users\erina>icacls E:\test\oid.mp3
E:\test\oid.mp3 DESKTOP-PK8T69J\erina:(F)
                BUILTIN\Administrators:(F)
                NT AUTHORITY\SYSTEM:(F)
                NT AUTHORITY\Authenticated Users:(M)
                BUILTIN\Users:(RX)
                BUILTIN\Administrators:(I)(F)
                NT AUTHORITY\SYSTEM:(I)(F)
                NT AUTHORITY\Authenticated Users:(I)(M)
                BUILTIN\Users:(I)(RX)

Successfully processed 1 files; Failed processing 0 files
  • 环境:Python 3.10,.py脚本与.mp3文件处于同一目录
排查与解决步骤

1. 确认音频文件本身的有效性

  • 用本地音频播放器打开oid.mp3,检查是否能正常播放,排除文件损坏问题
  • 若文件无法播放,用ffmpeg重新编码修复:
    ffmpeg -i oid.mp3 -acodec copy oid_fixed.mp3
    
    之后用修复后的oid_fixed.mp3重新测试代码
  • 查看音频文件编码信息,确认Whisper支持该格式:
    ffmpeg -i oid.mp3
    
    检查输出中的Audio字段,确认编码为MP3兼容格式

2. 修正文件路径处理逻辑

因为脚本与音频文件同目录,推荐用os模块动态拼接绝对路径,避免路径转义或工作目录问题:

import os
import whisper

# 获取脚本所在的绝对目录
script_dir = os.path.dirname(os.path.abspath(__file__))
# 拼接音频文件路径
file_path = os.path.join(script_dir, "oid.mp3")
print(file_path)

model = whisper.load_model("base")
result = model.transcribe(file_path)
print(result["text"])

同时可以添加代码确认当前工作目录:

import os
print(os.getcwd())

若输出不是E:\test,则需要切换到该目录后再运行脚本

3. 检查依赖完整性

  • 确认ffmpeg已安装并添加到系统PATH:运行ffmpeg -version,若提示命令不存在,需下载ffmpeg并将其可执行文件所在目录添加到系统环境变量PATH中
  • 更新Whisper到最新版本:
    pip install --upgrade openai-whisper
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 04:16:22