尝试遍历目录中的.wav文件(Python)

问题描述 投票:0回答:2

我正在尝试遍历包含wav文件列表的目录,如下所示:

enter image description here

我的目标是浏览每个wav文件,并将其添加到位于其父目录内的名为transcript.wav的wav文件中。

例如,我希望得到的输出是每个块都有一个具有正确编号的相应“ new_audio”文件。因此“ chunk0.wav”变为“ new_audio0.wav”]],“ chunk1.wav”变为“ new_audio1.wav”,依此类推。

这是我的代码:

import os
from pydub import AudioSegment

directory = "C:/Users/Nahuel/Workfiles/audio_chunks"

for file in sorted(os.listdir(directory)):
filename = os.fsdecode(file)
if filename.endswith(".wav"):
    p1 = AudioSegment.from_wav(filename)
    p2 = AudioSegment.from_wav("C:/Users/Nahuel/Workfiles/transcript.wav")
    newAudio = p1 + p2
    newAudio.export('new_audio.wav', format="wav")
    continue
else:
    continue

这是错误

我明白了。它说找不到文件“ chunk0.wav”。但是它在目录中,所以我挠头了。

enter image description here

任何帮助将不胜感激。谢谢您的帮助。

我正在尝试遍历包含wav文件列表的目录,如下所示:我的目标是浏览每个wav文件并将其添加到名为transcript.wav的wav文件中,该文件位于...

python loops operating-system wav pydub
2个回答
2
投票

似乎您只是不在wav目录中运行代码。 listdir只返回文件名,而不是整个路径,需要与目录一起加入


0
投票

您可能需要为filename使用绝对路径,这取决于Python程序的存储位置。所以,我说使用:

© www.soinside.com 2019 - 2024. All rights reserved.