Linux中用python3输出中文出现的时候提示错误如何解决?

python3可以支持输出中文以及用中文命名变量,而不需要做额外的设置,比如在我的mac系统中有如下文件:

动物 = "小狗"
print(动物)

我们可以直接用python3运行这个文件如下:

Linux中用python3输出中文出现的时候提示错误如何解决?

但是当我在我的Ubuntu系统上运行同样的文件的时候却出现了如下错误:

Linux中用python3输出中文出现的时候提示错误如何解决?

参考这个帖子这个帖子以后我得出以下两种解决方案:

方案一:在文件开头加入以下内容:

import io  
import sys  
 
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8') #改变标准输出的默认编码 

因此我的文件就变成了如下的形式:

import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

动物 = "小狗"
print(动物)

 其输出结果如下:

Linux中用python3输出中文出现的时候提示错误如何解决?

方案二:这是更简洁的方法,即在/etc/profile.d/下的某个shell文件中加入以下内容:

export PYTHONIOENCODING=utf-8

然后重启系统就可以正常输出中文了。 

 

Linux中用python3输出中文出现的时候提示错误如何解决?Linux中用python3输出中文出现的时候提示错误如何解决? 赵宗义11 发布了31 篇原创文章 · 获赞 0 · 访问量 716 私信 关注
上一篇:python3打开中文出现编码错误


下一篇:9、Android---UI---Material Design