您的位置:首页 > 文旅 > 美景 > Python script: mp3 file split

Python script: mp3 file split

2025/5/1 14:29:12 来源:https://blog.csdn.net/mostone/article/details/140857055  浏览:    关键词:Python script: mp3 file split

 自用代码备份

import sys
import re
import ospatterns = [# 00:00:00 - xxxxx re.compile(r"(\d{2}:\d{2}:\d{2})\s+-\s+([^\n\r]*)"), # 00:00 xxxxx re.compile(r"(\d{1,2}:\d{2})\s+([^\n\r]*)")]if len(sys.argv) < 3:print(f'''Usage: pythonScriptFilename.py listTextFileName audioBinaryFileName [last-to]Example: python script.py music.lst music.mp3 01:00:23--{"by mostone"}{"@"}hotmail{"."}com''')quit()listFileName = sys.argv[1]
inputFileName = sys.argv[2]
lastToTime = "" if len(sys.argv)==3 else f"-to {sys.argv[3]}"lines = [] # [ss, to, outputFileName]
print("open list file")
with open(listFileName, "rb") as lst:print("read to buff")txt = lst.read().decode()for ptn in patterns:matches = ptn.findall(txt)if len(matches) != 0: breakif len(matches) == 0:print("No item found in the list file.")quit()ss = ""fn = ""for m in matches:if ss != "":lines.append([f"-ss {ss}", f"-to {m[0]}", fn])ss = m[0]fn = m[1]# last onelines.append([f"-ss {ss}", lastToTime, fn])ptnIndex = re.compile(r"^\d+\.")
addIndex = True if ptnIndex.match(lines[0][2])==None else False
for i in range(1, len(lines)):paras = lines[i - 1]paras[2] = f"\"{f"{i:02g}.{paras[2]}" if addIndex else paras[2]}\".mp3"cmd = f"ffmpeg -nostdin -i \"{inputFileName}\" -c copy {" ".join(paras)}"# print(cmd)os.system(cmd)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com