您当前的位置:首页 > 计算机 > 编程开发 > Python

Python 小工具 OGG格式转MP3音乐格式

时间:02-17来源:作者:点击数:
CDSY,CDSY.XYZ

之前在手机上听歌,然后下载歌曲,发现是OGG文件格式,然后上传的时候,系统识别不到,需要转换成MP3格式才可以,于是网上开始找那些能转换格式的工具,结果就是一次只能上传几个,不是很方便,还有就是下载需要充值,所以我就想自己写一个,编程不怎么厉害,但是现在AI发展很快,可以借助AI帮咱们完成一个小工具。我用的是python 语言,大家也可以用其他语言试试,重在参与。我就直接贴代码了。祝大家新年快乐。

一 开发语言:Python

二 代码:

import osimport subprocess  # 用于执行ffmpeg命令
 
# 配置路径
source_folder = r'C:\Users\Admin\Desktop\需要转换的'  # 待转换的源文件文件夹
output_folder = r'D:\转换好的音乐'  # 转换后的输出文件夹
output_file = os.path.join(output_folder, 'output.txt')  # 命令记录文件
supported_formats = ('.ogg', '.mp3', '.wav')  # 支持的源文件格式
 
# 确保输出文件夹存在
os.makedirs(output_folder, exist_ok=True)
 
# 以追加/写入模式打开命令记录文件(utf-8编码避免中文乱码)
with open(output_file, 'w', encoding='utf-8') as f:
    # 遍历源文件夹中的所有文件(仅文件,排除子文件夹)
    for filename in os.listdir(source_folder):
        file_path = os.path.join(source_folder, filename)
        # 仅处理文件,且是指定格式的音频文件
        if os.path.isfile(file_path) and filename.lower().endswith(supported_formats):
            # 构造输出文件名(统一转为mp3,保留原文件名)
            output_filename = os.path.splitext(filename)[0] + '.mp3'
            output_path = os.path.join(output_folder, output_filename)
 
            # 规范拼接ffmpeg命令(使用原始字符串避免转义问题)
            ffmpeg_command = [
                'ffmpeg',
                '-i', file_path,  # 输入文件
                '-acodec', 'libmp3lame',  # 编码格式
                '-y',  # 覆盖已存在的输出文件
                output_path
            ]
 
            # 将命令转为字符串写入文件(便于查看)
            command_str = ' '.join(ffmpeg_command)
            f.write(command_str + '\n')
            print(f"生成命令:{command_str}")
 
            # 实际执行转换命令
            try:
                # 执行ffmpeg命令,隐藏控制台输出(stdout/stderr)
                subprocess.run(
                    ffmpeg_command,
                    check=True,
                    stdout=subprocess.DEVNULL,
                    stderr=subprocess.DEVNULL
                )
                print(f"✅ {filename} 转换成功,输出至:{output_path}")
            except subprocess.CalledProcessError as e:
                print(f"❌ {filename} 转换失败:ffmpeg执行错误")
            except FileNotFoundError:
                print("❌ 未找到ffmpeg,请确保ffmpeg已添加到系统环境变量,或使用完整路径(如D:\\ffmpeg\\bin\\ffmpeg.exe)")
            except Exception as e:
                print(f"❌ {filename} 转换失败:{str(e)}")
 
print(f"\n所有命令已记录至:{output_file}")

 

CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
上一篇:PyQuery 详解「建议收藏」 下一篇:很抱歉没有了
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐