编写一个简单的 python 脚本,使用 lame 将特定文件夹中的所有 .wav 文件转换为 .mp3
Posted
技术标签:
【中文标题】编写一个简单的 python 脚本,使用 lame 将特定文件夹中的所有 .wav 文件转换为 .mp3【英文标题】:Write a simple python script to convert all .wav files in a specific folder to .mp3 using lame 【发布时间】:2011-08-06 22:44:23 【问题描述】:我想编写一个简单的脚本,将文件夹中的几十个 .wav 文件转换为 v0 mp3。不需要很复杂,只需要完成这项工作并在此过程中帮助我学习一点python即可;)
我已经收集到我需要使用“从子进程导入调用”之类的东西来调用“lame”,但我不知道如何编写其余部分。我以前编写过 bash 脚本来执行此操作,但在 Windows 上它们对我来说并不是很好。
我了解基本的 Python 编程。
【问题讨论】:
【参考方案1】:这是一个至少可以在 Ubuntu Linux 上运行的示例。如果您使用的是 Windows,则需要更改斜线的方向。
import os
import os.path
import sys
from subprocess import call
def main():
path = '/path/to/directory/'
filenames = [
filename
for filename
in os.listdir(path)
if filename.endswith('.wav')
]
for filename in filenames:
call(['lame', '-V0',
os.path.join(path, filename),
os.path.join(path, '%s.mp3' % filename[:-4])
])
return 0
if __name__ == '__main__':
status = main()
sys.exit(status)
【讨论】:
【参考方案2】:这是我目前的想法
#!/usr/bin/env python
import os
lamedir = 'lame'
searchdir = "/var/test"
name = []
for f in os.listdir(searchdir):
name.append(f)
for files in name:
iswav = files.find('.wav')
#print files, iswav
if(iswav >0):
print lamedir + ' -h -V 6 ' + searchdir + files + ' ' + searchdir + files[:iswav]+'.mp3'
os.system(lamedir + ' -h -V 6 ' + searchdir + files + " " + searchdir + files[:iswav]+".mp3")
【讨论】:
以上是关于编写一个简单的 python 脚本,使用 lame 将特定文件夹中的所有 .wav 文件转换为 .mp3的主要内容,如果未能解决你的问题,请参考以下文章