报错信息关键字
yaml包读取导致的UnicodeDecodeError(如果不是的话,可能你并不适用以下方法)
UnicodeDecodeError: 'ascii' codec can't decode byte
解决措施
python报错信息中找到类似的内容(.yml文件地址随具体项目变化)
with open(r"D:\file\yaml\data.yml",'r') as f:
改为
with open(r"D:\file\yaml\data.yml",'rb') as f:
该方法引自
- python读取yaml文件报错:UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xa5 in position 136: illegal multibyte sequence
https://www.cnblogs.com/xiamaojjie/p/11670923.html
解决过程(可略)
用我看博客过程中一位大佬的话:我不停百度,各种度,国外的国内的都找遍了,但是还是不知道咋回事,直到看到其他人的这样一个解决方法。
其他可能的解决方法
- 如果是cPickle包报错可以
将
training_data, validation_data, test_data = cPickle.load(f)
改为
training_data, validation_data, test_data = cPickle.load(f,encoding=‘bytes’)
- 成功解决Python3版UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x90 in position 614: ordinal not in
https://developer.aliyun.com/article/796209
- 对于python本身(python 2.x版本)
import sys
reload(sys)
sys.setdefaultencoding(‘utf-8’)
- 解决 UnicodeDecodeError: ‘ascii’ codec can’t decod…
https://my.oschina.net/yoke/blog/102699
- python 3.x版本的可以参考如下引用
- Python 解决 :NameError: name ‘reload’ is not defined 问题
https://zhuanlan.zhihu.com/p/32604562