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

Jupyter Notebook中MP3分割程序遇文件未找到错误求助

解决MP3分割代码的文件未找到错误

排查及修复步骤

1. 先确认文件真实存在

直接把你的文件路径复制到Windows文件资源管理器的地址栏,按回车:

  • 检查用户名reape是否拼写正确
  • 确认文件名不是english1.mp3.txt(系统可能隐藏了文件后缀,导致实际后缀是txt)
  • 确认文件没有被移动、删除或重命名

2. 检查Jupyter Notebook的工作目录

在Jupyter单元格里先运行这段代码,查看当前工作目录:

import os
print(os.getcwd())

如果你的MP3文件不在这个目录下,必须保证绝对路径完全无误;或者可以把MP3文件放到当前工作目录,改用相对路径测试。

3. 排查pydub依赖的ffmpeg

pydub本身不处理音频编码,依赖ffmpeg工具。如果ffmpeg未安装或未配置到系统环境变量,也会抛出类似“文件未找到”的错误(实际是找不到ffmpeg):

  • 下载ffmpeg并解压,将解压后的bin目录添加到系统PATH环境变量
  • 重启Jupyter Notebook后再运行代码

4. 代码优化:增加路径校验

修改代码,提前检查路径有效性,方便定位问题:

from pydub import AudioSegment
import os

def split_mp3_by_seconds(input_file, output_folder, segment_length=10):
    # 校验输入文件是否存在
    if not os.path.exists(input_file):
        raise FileNotFoundError(f"输入文件不存在:{input_file}")
    # 确保输出文件夹存在,不存在则创建
    os.makedirs(output_folder, exist_ok=True)
    
    audio = AudioSegment.from_file(input_file, format="mp3")
    total_length = len(audio)

    for i in range(0, total_length, segment_length * 1000):
        segment = audio[i:i + segment_length * 1000]
        output_path = os.path.join(output_folder, f"segment_{i // 1000}.mp3")
        segment.export(output_path, format="mp3")

if __name__ == "__main__":
    input_file_path = r"C:\Users\reape\Desktop\english1\english1.mp3"
    output_folder_path = r"C:\Users\reape\Desktop\english1"

split_mp3_by_seconds(input_file_path, output_folder_path)

如果文件确实不存在,这段代码会抛出明确的错误提示,避免和ffmpeg缺失的问题混淆。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 01:46:35