一则魅族M8下歌词乱码的程序小故事

最近,一朋友买了个魅族的M8手机,整天拨弄,爱不释手。一次找我说,下载了一堆lrc歌词,结果在M8里播放都是乱码,怎么回事,有没有什么解决办法。我说,好办,其实是gb2312和unicode编码的问题,给你写个python脚本就搞定一切:
import os
import glob
import codecs

files = glob.glob(r'd:\temp\lrc_gbk\*.lrc')
savepath = r'd:\temp\lrc_unicode'

for file in files:
	print '>>', file
	fh = open(file)
	ct = fh.read()
	new_ct = unicode(ct, 'utf8')
	path, filename = os.path.split(file)
	try:
		fwh = codecs.open(os.path.join(savepath, filename), 'w', encoding='gb2312')
		fwh.write(new_ct)
		fwh.close()
	except Exception, e:
		print e


使用方式如下:
1. 乱码歌词放在 D:\temp\lrc_gbk\ 目录中(在windows下显示正常的gb2312编码歌词文件)
2. 创建保存目录 D:\temp\lrc_unicode(用于输出M8可以正常阅读的unicode歌词文件)
3. 运行上面代码,最后的M8可用歌词文件就输出在lrc_unicode目录中了

给他脚本之后,一运行,输出结果,拷贝至M8里一使,乐坏了。他都没想到短短几行代码这么有用。我当然就趁机把他教育了一顿,叫他回去也好好学学程序,学学python。这东西毕竟不复杂,但是很有用。对于程序设计,很多不了解的人总以为它有多高深。而我们经常接触的,把不得订外卖、煮咖啡等日常事务都用它来完成。



你可能感兴趣的:(windows,python,OS,教育,脚本)