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: .阿里旺旺接收的可疑文件
提示: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: .阿里旺旺接收的可疑文件
相关文章推荐
- CentOS下安装Python3后BeautifulSoup 版本不兼容问题解决方法
- Angularjs在360兼容模式下取数据缓存问题的解决办法
- python 360 社区 监控 爬虫 in not in 问题
- python+selenium+firefox/chrome版本兼容问题记录
- python连接oracle-从编码到版本不兼容等问题
- 360兼容模式问题
- Windows平台下python2和3的兼容问题解决
- js函数split(),用空格作为分隔符时,使用正则表达式,会存在浏览器兼容问题
- 机器学习实战 Python3编译存在的各种问题
- form input file 图片上传360IE兼容问题
- 360/IE兼容模式下。append 失效,ajax返回json,传值为0问题
- input的width和padding-left同时存在时IE兼容问题
- Centos7 安装python3详细教程,解决升级后不兼容问题
- django+httpd+mod_pythonurl存在中文路径问题解决
- python3 安装 Beautifulsoup4结果发现版本不兼容的问题解决
- 解决360双核浏览器兼容模式的页面显示问题
- 用Meta标签代码让360双核浏览器默认极速模式打开网站不是兼容模式(顺带解决很多兼容性问题)
- 深入.NET程序集加载:你知道.NET程序集加载的确切时机吗,来看看一段代码存在的问题
- Python不兼容问题
- 安装python存在的问题