-
Notifications
You must be signed in to change notification settings - Fork 51
实用功能
松坂砂糖浆 edited this page Oct 16, 2024
·
2 revisions
我们建议您优先采用现有模块来解决当前问题,以提升项目的可维护性。如有必要,您可以进一步扩展这些模块,添加更多实用组件。
需要注意的是,这些模块可能在项目中被多处代码引用,因此其功能特性应保持稳定,避免随意更改,以防止引发意外问题。
/mod/textcompare.py
模块提供了一种高效的文本相似度比较方法,专门针对音乐标题、专辑名称以及音乐艺术家设计了相应的匹配算法。在实际应用中,该算法相较于Levenshtein
模块提供的Levenshtein.distance
(编辑距离算法),展现出更快的处理速度和更高的准确性。另外,纯Python实现也使得该模块有很好的版本兼容性。因此,在音乐标题、专辑名称以及音乐艺术家匹配的场景下,我们不推荐使用Levenshtein模块。
mod/tools.py
提供的calculate_md5
函数提供了一种便捷的方法来生成字符串的MD5哈希值,并可选择以(无前缀的)十六进制字符串、十进制整数或二进制字符串的形式输出。
mod/lrc.py
提供的standard
函数能够完全自动地解析并标准化传入的Lrc格式字符串。
标准的Lrc歌词时间戳格式为[00:00.000],但某些Lrc文本可能使用诸如[00.00.000]或[00:00.00]等非标准格式的时间戳,这可能导致部分播放器无法正确解析这些歌词。该模块能够自动识别并解析大多数非标准的Lrc文本,并将其转换为标准的Lrc格式。具体处理包括:去除可能存在的UTF-8零宽字符、统一换行符为\n,以及标准化时间戳。