欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python批量将文件夹里的mp3文件转换成wav文件

程序员文章站 2022-07-13 12:49:55
...

Python批量将文件夹里的mp3文件转换成wav文件

1.代码

from pydub import AudioSegment
import os


def mp3_wav(s_path, d_path):
    file = []
    for files in os.listdir(s_path):
        if files.endswith('.mp3'):
            file.append(files)
    for i in range(len(file)):
        sound = AudioSegment.from_mp3(s_path+'/'+file[i])
        sound.export(d_path+'/'+file[i].split('.')[0]+'.wav', format='wav')


if __name__ == "__main__":
    source_file_path = "./music"
    end_path = "./wav"
    mp3_wav(source_file_path, end_path)

代码功能:将music文件夹里面的mp3文件遍历读取并保存到file列表中,并将文件转换成wav格式,保存到另一个文件夹下。

2.结果

Python批量将文件夹里的mp3文件转换成wav文件

3.遇到的bug

刚开始用的如下代码进行格式转换,虽然文件已经转换了,由原来的4.3MB变为37.4MB,但是在保存时还是以“.mp3”命名的。

sound = AudioSegment.from_mp3(s_path+'/'+file[i])
sound.export(d_path+'/'+file[i],format='wav')

找到bug,保存时文件名还是用原来的名字命名,要将文件名和后缀名分割,用新的后缀名保存,使用如下代码:

sound = AudioSegment.from_mp3(s_path+'/'+file[i])
sound.export(d_path+'/'+file[i].split('.')[0]+'.wav', format='wav')