美文网首页
如何解决Anaconda中Python打印中文报错

如何解决Anaconda中Python打印中文报错

作者: 奔跑的徐胖子 | 来源:发表于2018-10-31 22:19 被阅读12次

本人家里的电脑跟工作电脑上使用VSCode来写Python会有所不同。工作电脑打印中文的文字一点问题都没有,而家里的电脑在print中文的时候会出现错误(才疏学浅,汗……):

UnicodeEncodeError: 'ascii' codec can't encode characters in ordinal not in range(128)

我使用的Python的环境是Anaconda中的Python3.6。出现这个问题的原因是因为我这个Anaconda环境下的Python系统的默认编码是:'US-ASCII':

import sys
print(sys.stdout.encoding) # 输出的结果是:US-ASCII

我的解决方案是:
1、新建一个文件,名字:sitecustomize.py
2、文件中写入:

import sys
import codecs
sys.stdout = codecs.getwriter("utf-8")(sys.stdout.detach())

3、把这个文件放进Anaconda/lib/python3.6/site-packages/
放进这个文件夹后,实际上每次python运行的时候都会先运行这个脚本,也就是说通过这个脚本把系统的默认编码改写成了utf-8,这样就可以打印出来中文了

print("你好,世界!") #结果打印成功!

感觉这么做不是很好,所以,如果你有更好的方法,一定要给我留言,告诉我哈,抱拳了老铁!🙏

相关文章

网友评论

      本文标题:如何解决Anaconda中Python打印中文报错

      本文链接:https://www.haomeiwen.com/subject/hzmztqtx.html