下载了一些英语学习的MP3,用百度音乐播放,顺序是乱的,音乐播放器一般是显示tag中title的。此外还有一点,百度音乐播放如果碰到MP3的tag版本比较低的,比如1.0,则不是显示title,这点比较奇怪,不知道是什么原因。所以如果需要按照自己的需求来显示的话,需要修改两个地方,一个是版本号,一个是title。

下面代码中,audiofile.initTag()是用来修改版本号的(默认版本号是2.4),而audiofile.tag.title = unicode(id3)是用来修改title的,按照文件名来修改,就是文件名去掉.mp3就可以了。

另外需要注意的一点是,eyed3现在只支持python 2.6,python 2.7,暂不能用python 3.

#! /usr/bin/env python#coding utf-8import os
import re
import sys
import eyed3if __name__ == "__main__":if len(sys.argv) != 2:# print('please input MP3 directory')exit()patemplate=r'\.mp3'repat=re.compile(patemplate)dir = sys.argv[1]for filename in os.listdir(dir):filepath = os.path.join(dir, filename)p = re.compile(r'(.*)-(.*)\.mp3', re.I)m = p.match(filename)if m:id3=filenameid3 = repat.sub('', filename)audiofile = eyed3.load(filepath)audiofile.initTag()audiofile.tag.title = unicode(id3)audiofile.tag.artist = u"NCE2"audiofile.tag.album = u"NCE2"audiofile.tag.album_artist = u"NCE2"audiofile.tag.track_num = 0audiofile.tag.comment=u"NCE2"audiofile.tag.save()else:pass

下面是版本号。
eyed3.id3.ID3_V1 = (1, None, None)
Version 1, 1.0 or 1.1

eyed3.id3.ID3_V1_0 = (1, 0, 0)
Version 1.0, specifically

eyed3.id3.ID3_V1_1 = (1, 1, 0)
Version 1.1, specifically

eyed3.id3.ID3_V2 = (2, None, None)
Version 2, 2.2, 2.3 or 2.4

eyed3.id3.ID3_V2_2 = (2, 2, 0)
Version 2.2, specifically

eyed3.id3.ID3_V2_3 = (2, 3, 0)
Version 2.3, specifically

eyed3.id3.ID3_V2_4 = (2, 4, 0)
Version 2.4, specifically

eyed3.id3.ID3_DEFAULT_VERSION = (2, 4, 0)

The default version for eyeD3 tags and save operations.

使用Python的eyed3库修改MP3 tag相关推荐

  1. Python 使用mutagen批量修改MP3标签信息

    以下代码仅供业余爱好参考,不涉及音频专业知识. 说明: 听歌时,想着修改一下mp3的标签信息,但是歌曲很多不可能一个个的修改. 下载了一个Mp3tag软件,添加封面还是可以,但是批量修改标题只能清空等 ...

  2. Python使用pydub库对mp3与wav格式进行互转

    我们需要用到一个叫pydub的类库, pydub是python的高级一个音频处理库,可以让你以一种不那么蠢的方法处理音频.---开发者原话 https://github.com/jiaaro/pydu ...

  3. Python 修改 mp3 属性

    网上下载了一个新概念第三册60课的听力包,兴高采烈的放进手机里面才傻了眼,每一课的序号与标题竟然对不上号!想要听哪一课岂不是要瞎蒙!在电脑上查看mp3的属性发现文件的名称是对的,就是里面的一个Titl ...

  4. python修改文件linux编码格式,使用python的chardet库获得文件编码并修改编码

    使用python的chardet库获得文件编码并修改编码 windows和linux采用了不同的编码,这让很多人伤透了脑经,这里我采用了Python的chardet库获得代码的编码,然后修改编码 首先 ...

  5. mp3 编辑 linux,Linux_Ubuntu 32/64位安装音乐标签编辑器Kid3的方法,  Kid3能够修改mp3中ID3的tag标 - phpStudy...

    Ubuntu 32/64位安装音乐标签编辑器Kid3的方法 Kid3能够修改mp3中ID3的tag标签,还能同时修改ID3v1和ID3v2的tag标签吗,是款功能强大的音乐标签编辑器,因为其在Ubun ...

  6. 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)

    文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...

  7. 终于把python的所有库整理完毕了,现在一篇python库的字典诞生了

    库名称简介 添加小编学习群 832339352 即可自动获取大量python视频教程以及各类PDF! Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文 ...

  8. python的第三方库汇总

    Python 资源大全中文版 环境管理 管理 Python 版本和环境的工具 p:非常简单的交互式 python 版本管理工具.官网 pyenv:简单的 Python 版本管理工具.官网 Vex:可以 ...

  9. python web 常用库

    # Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.[awesome-python](https://github.com/v ...

最新文章

  1. 2010 .NET面试题整理之基础篇
  2. sinee303a变频器说明书_SINEE--EM303A变频器用户手册.pdf
  3. MySQL添加服务、设置密码、修改密码
  4. Android Studio 错误集
  5. [react] Mern和Yeoman脚手架有什么区别?
  6. admin select 2 异步_解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
  7. cmd中安装app的的命令
  8. 阿里云业绩同比增126% 云服务现“3A鼎立”
  9. [转载] python 列表List中index函数的坑
  10. 深信服(SCSA)认证学习—基础知识点二
  11. Relational Knowledge Distillation解读
  12. linux 笔记本 显卡驱动,archlinux 笔记本安装nvidia显卡驱动与intel显卡驱动
  13. 什么是安迪比尔定理?
  14. 大牛教你怎么学习Java多进程,下载量瞬秒百万
  15. lr背景虚化_【教程】人像后期LR+PS超详细流程+思路分析
  16. angr分析程序的控制流图CFG
  17. 从0到一开发微信小程序(6)—小程序常用API
  18. TFT-lCD的常见接口介绍
  19. Autosar DaVinci Developer的一些基本功能
  20. C语言初阶——实用调试技巧

热门文章

  1. 『iOS开发』 —— UITextView实现信纸效果
  2. array splice php w3c,PHP函数整理,php函数
  3. 【Blender】超级无敌好用的环形圆盘,但却是正方形的UV制作方法
  4. 接口签名中的三位小伙伴signature,nonce,timestamp
  5. 2021Java就业前景如何?值得去学习吗?
  6. 软子空间聚类_不平衡数据的软子空间聚类算法
  7. aidl android 怎么mk编译,使用Android的HIDL+AIDL方式编写从HAL层到APP层的程序
  8. 20-30岁,我拿十年做什么 (转)
  9. 本周推荐 | 表达式引擎的组合子实现方案
  10. 适用于 Linux 的 VMware Horizon Client 5.5 发行说明