最近,需要大量地将wav转mp3,于是用python写了个小脚本直接一键转换,这里做个记录。
环境
- windows 10
- ffmpeg
- python3
- pydub
前期准备
环境搭建
首先安装ffmpeg,参考大佬的博客
然后在命令行运行命令安装pydub:
pip install pydub
然后准备一个文件夹,里面是待转换的wav文件:
待转换的wav文件
程序编写
程序想要实现的功能是遍历文件夹内的wav文件路径,然后依次将wav文件转为mp3文件输出。
首先,编写转换函数:
from pydub import AudioSegment
def wav2mp3(filepath, savepath):
sourcefile = AudioSegment.from_wav(filepath)
filename = filepath.split('/')[-1].split('.wav')[0].replace(' ', '_') + '.mp3'
print(filename)
sourcefile.export(savepath + filename, format="mp3")
这里的filename
注意需要加上.mp3
后缀
然后书写函数获取wav文件路径,保存为列表输出:
def getFileName(filepath):
file_list = []
for root,dirs,files in os.walk(filepath):
for filespath in files:
if 'wav' in filespath.split('.')[-1]:
file_list.append(os.path.join(root,filespath))
return file_list
最后书写main
函数遍历路径并转换:
if __name__ == '__main__':
folder = 'D:/yuanshen/emmmm/'
savepath = 'D:/yuanshen/emmm1/'
wav_list = getFileName(folder)
for item in wav_list:
wav2mp3(item, savepath)
至此,程序编写完毕
程序运行
在命令行输入命令运行脚本:
python wav2mp3.py
然后就能看到程序开始转换:
程序运行截图
程序运行结果:
程序运行结果