这篇文章主要介绍了编写Python脚本来获取mp3文件tag信息的教程,代码基于Python2.x,文中的注释很详细,需要的朋友可以参考下
下面利用一个python的实例程序,来学习python。这个程序的目的就是分析出所有MP3文件的Tag信息并输出。
import os # 导入os模块,提供文件路径,列出文件等方法
import sys # 导入sys模块,使用sys.modules获取模块中的所有内容,类似反射的功能
from UserDict import UserDict # 这个表示从UserDict类中导入UserDict,类似于Java中的 import UserDict.UserDict
def stripnulls(data):
"一个空字符串的处理函数将所有00字节的内容替换为空字符,病将前后的空字符串去掉"
# Python中的strip用于去除字符串的首尾字符,同理,lstrip用于去除左边的字符,rstrip用于去除右边的字符。
return data.replace("\00", "").strip()
class FileInfo(UserDict):
'''文件基类,存储文件的文件名,继承自UserDict(存储key-value的一个类,可以重写__setitem__,__getitem__方法,
就可以使用[])'''
# self是定义时使用,使用时不需要,如果没有参数,则filename默认None,如果有一个参数的话,参数即为filename
def __init__(self, filename=None):
UserDict.__init__(self) # 初始化父类
self["name"] = filename # 设置name为 filaname
class MP3FileInfo(FileInfo):
"MP3文件的信息类,用于分析MP3文件和存储信息"
# tagDataMap 用于存储MP3的Tag信息分别所在位置,( key : 开始位置,结束位置, 处理函数),
# stripnulls表示最开始定义的函数
tagDataMap = {
"title" : ( 3, 33, stripnulls),
"