Jupyter Notebook中wavfile读取文件遇FileNotFoundError求助
解决wavfile.read()抛出的FileNotFoundError问题
从你的报错信息和代码来看,最可能的问题非常简单但容易忽略——你没有给文件名加上.wav后缀!
核心问题分析
你定义的filename = 'file_example_WAV_1MG',但WAV格式的音频文件默认带有.wav扩展名。系统找不到E:/file_example_WAV_1MG这个文件,本质是因为实际目标文件应该是file_example_WAV_1MG.wav,你漏掉了关键的后缀部分。
分步排查与解决
这里给你几个验证和修复的具体步骤:
确认文件的完整真实名称
打开E盘找到目标音频文件,右键选择「属性」查看它的完整文件名。如果你的Windows系统默认隐藏了已知文件类型的扩展名,你看到的文件名可能不带.wav,但实际文件是包含后缀的。可以在文件夹选项中开启「显示文件扩展名」来确认真实名称。修正代码中的文件名
把文件名补充上.wav后缀,修改后的代码如下:from scipy.io import wavfile train_audio_path = 'E:/' # 补充WAV文件的后缀名 filename = 'file_example_WAV_1MG.wav' sample_rate, samples = wavfile.read(train_audio_path + filename) print('sample rate : {}, samples.shape : {}'.format(sample_rate, samples.shape))更健壮的路径拼接方式
手动拼接路径容易出现漏加斜杠等小错误,推荐使用os.path.join()来自动处理路径分隔符,让代码更可靠:import os from scipy.io import wavfile train_audio_path = 'E:/' filename = 'file_example_WAV_1MG.wav' # 自动拼接路径,避免手动拼接的失误 full_path = os.path.join(train_audio_path, filename) sample_rate, samples = wavfile.read(full_path) print('sample rate : {}, samples.shape : {}'.format(sample_rate, samples.shape))额外兜底验证点
- 确认文件确实在E盘根目录下,而非某个子文件夹(比如
E:/audio/),如果是子文件夹,需要同步修改train_audio_path的路径。 - 检查文件权限:右键文件,确保当前用户拥有读取该文件的权限(这个概率较低,但可以作为最后一步的兜底检查)。
- 确认文件确实在E盘根目录下,而非某个子文件夹(比如
内容的提问来源于stack exchange,提问作者DIfficulttolearn
相关产品推荐
相关产品推荐

