UnicodeDecodeError: 'ascii' codec can't decode byte 0xe4 in position 19: ordinal not in range(128)
解决方案:
1:
- 在网上找到的解决方案是:
- 在调用import matplotlib.pyplot as plt前
- import sys
- sys.setdefaultencoding(“gbk”)
- 让编码改成gbk(这个方案可以解决)
这个方法并不能解决根源问题,在调试时仍会出现错误
2:
其实真正出现这种问题的原因在于路径的问题,代码(.py)文件路径中出现了中文,导致编码出现问题,而matplotlib在使用pyplot时只能解析utf-8因此会出现'ascii' codec can't decode byte 0xb0 in position 18: ordinal not in range(128)
- 解决方案:
- (1)将文件所在的所在路径改成英文,不要使用中文
- (2)import os
os.chdir(r'D:\skleran包学习'.decode("utf-8")) - 直接将路径改成utf-8编码
这样,就ok了