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

处理MIT Flickr 8k音频语料的Python数据预处理脚本遭遇Numpy FileNotFoundError问题求助

解决路径拼接错误导致的FileNotFoundError

你遇到的问题核心是路径拼接时缺少了目录分隔符,导致Python找不到正确的文件位置。从错误信息能看到,程序试图访问/Users/luca/Desktop/flickr_audiowav2spk.txt,但实际上你的文件应该在flickr_audio目录下,正确路径应为/Users/luca/Desktop/flickr_audio/wav2spk.txt——这是因为args.dataroot的结尾没有斜杠,直接和'wav2spk.txt'拼接后,两个字符串硬连在了一起。

这里有两种可靠的解决方法:

方法1:用os.path.join()自动拼接路径(推荐)

Python的os.path.join()函数会自动适配不同操作系统的路径分隔符(Mac用/,Windows用\),而且不管原路径有没有结尾的斜杠,都能生成正确的路径。修改代码中的两处路径拼接:

  1. 替换wav2spk.txt的路径:
# 原代码
# textin = args.dataroot + 'wav2spk.txt'
# 修改后
textin = os.path.join(args.dataroot, 'wav2spk.txt')
  1. 替换wav文件的路径:
# 原代码
# f = args.dataroot + 'wavs/' + filename.decode()
# 修改后
f = os.path.join(args.dataroot, 'wavs', filename.decode())

这种方法是最稳妥的,能避免后续再出现类似的路径问题。

方法2:手动给路径加上结尾斜杠

如果你不想修改代码逻辑,也可以在设置dataroot参数时,确保路径末尾带有斜杠:

parser.add_argument("--dataroot", type=str, default='/Users/luca/Desktop/flickr_audio/', help="data root of flickr")

或者在运行脚本时传入带斜杠的路径。不过这种方法依赖人为操作,不够灵活,不推荐作为长期解决方案。

最后别忘了确认:你的flickr_audio目录下确实存在wav2spk.txt文件,以及wavs子目录里有对应的音频文件哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 21:07:39