您的位置:首页 > 编程语言 > Python开发

360 你妈妈知道你跟Python存在兼容问题吗?

2014-01-14 09:16 211 查看
最近在用Python2.7.6版本开发的的过程中发现了一个问题

提示:UnicodeDecodeError:'ascii' codec can't decode bytes 0xb0

刚开始以为是编码的问题 我设置默认编码为utf-8后问题没有解决

看了下代码 lib\mimetypes.py

发现原因是从注册表获取文件后缀的时候 不支持中文扩展名:“.阿里旺旺接收的可疑文件”

这玩意是神马东西,大家懂的。

继续找代码

read_windows_registry

在241行 def enum_types(mimedb)

修改为:

def enum_types(mimedb):
i = 0
while True:
try:
ctype = _winreg.EnumKey(mimedb, i)
except EnvironmentError:
break
try:
#print "default_encoding:"
#print ctype
ctype = ctype.encode(default_encoding) # omit in 3.x!
except :
print "err:" + ctype
ctype=""
yield ctype
else:
yield ctype
i += 1

输出 err: .阿里旺旺接收的可疑文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: