批量截掉MP3文件的固定时间的python代码(亲测贼好用哦)

有这么一个需求,就是听某个系列的讲课,每个课程前都有101秒的前奏介绍,每一次听的时候都要忍受这101秒的时间,既然学了python ,就把它解决掉。话不多说,上代码干货!

from pydub import AudioSegment
import os
from multiprocessing import Pool
 
def worker(filename):
    try:
        # print(filename)
        path = r'F:\\55后\\57-114\\test\\' 
        # print(path)
        path_out = path + '转换后\\'
        print(path_out)
        if not os.path.exists(path_out):
            os.mkdir(path_out)
        used_name = path + filename
        print(used_name)
        ## 因为文件名里面包含了文件的后缀,所以重命名的时候要加上
        new_name = path_out + filename
        input_music = AudioSegment.from_mp3(used_name)
        # 截取音频前101000毫秒(101秒)
        output_music = input_music[101000:]
        # 保存音频 前面为保存的路径wenj ,后面为保存的格式
        output_music.export(new_name, bitrate="64k")
        print(new_name+'完成!')
    
    except:
        ## 跳过一些系统隐藏文档
        pass
        # os.rename(used_name, new_name)

if __name__ == '__main__':
    path = r'F:\\55后\\57-114\\test\\' 

    converted_count = 0
    convertlist = []
    for filename in os.listdir(path):
        if filename.endswith(".mp3"):
            convertlist.append(filename)
            converted_count += 1
    print(convertlist)

    p = Pool(processes=min(converted_count, os.cpu_count()))
    p.map(worker, convertlist)	

转换前文件长度:
在这里插入图片描述
转换后文件长度:
在这里插入图片描述

from pydub import AudioSegment
关于配置AudioSegment模块,这里不多说明,请自行搜索其他相关文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

最懂编程的医生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值