- #encoding: utf8
- import sys
- import os
- import binascii
- import json
- def get_id3data(fp):
- id3_data = {}
- frame_id = ['TIT2', 'TYER', 'TRCK', 'TALB','TPE2' ,'COMM','TPE1']
- fp.read(10)
- while True:
- fid = fp.read(4)
- if fid not in frame_id:
- break
- size = int(binascii.b2a_hex(fp.read(4)), 16)
- fp.read(2)
- id3_data[fid] = fp.read(size).strip('\\x00')
- return id3_data
- if __name__ == '__main__':
- abspath = os.path.abspath(sys.argv[1])
- path,filename = os.path.split(abspath)
- fp = open(os.path.join(path,filename), 'rb')
- id3_data = get_id3data(fp)
- print json.dumps(id3_data, ensure_ascii=False, encoding='gbk')
- fp.close()
- #该片段来自于http://www.codesnippet.cn/detail/2608201410345.html
来源: http://www.codesnippet.cn/detail/2608201410345.html