首页 / PYTHON / Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128)
Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1492字,纯文字阅读大概需要3分钟。
内容图文
刚学Python,想打印个“hello 张林峰”,代码如下:
# !/usr/bin/env python3 # -*- coding: utf-8 -*- print(‘hello 张林峰‘)
用sublime运行一下,竟然报错???
Traceback (most recent call last): File " /Users/zhanglinfeng/Documents/Python/\u7ec3\u4e60/\u5b57\u7b26\u4e32\u7f16\u7801\u53ca\u8f93\u51fa\u683c\u5f0f.py ", line 4, in <module> print(‘hello \u5f20\u6797\u5cf0‘) UnicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 6-8: ordinal not in range(128) [Finished in 0.1s with exit code 1] [cmd: [‘/Library/Frameworks/Python.framework/Versions/3.6/bin/python3‘, ‘-u‘, ‘/Users/zhanglinfeng/Documents/Python/练习/字符串编码及输出格式.py‘]] [dir: /Users/zhanglinfeng/Documents/Python/练习] [path: /usr/bin:/bin:/usr/sbin:/sbin]
难道学一门新语言,第一个程序非得是“hello Word”?试了下,特么hello Word还真对了。莫非是中文问题?可我明明写了# -*- coding: utf-8 -*-的啊。去终端运行下这个py文件,特么终端竟然对的,可以打印hello 张林峰了。什么情况啊?
网上搜了下,哟呵,报这个错的人还挺多啊。大概有以下几种答案:
1.是因为默认的编码是ascii,要把需要自己将python的默认编码设置为utf8的编码格式
查询系统默认编码可以在解释器中输入以下命令:
>>>import sys >>>sys.getdefaultencoding()
设置默认编码时使用:
>>>sys.setdefaultencoding(‘utf8‘)
然而我的Python默认编码就是utf8,所以这个答案pass掉了。
2.认为是print的的局限性
需要在前面加上下面代码
import io import sys sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding=‘utf8‘) #改变标准输出的默认编码
我的就是第二个答案解决的。
原文:http://www.cnblogs.com/zhanglinfeng/p/7420980.html
内容总结
以上是互联网集市为您收集整理的Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128)全部内容,希望文章能够帮你解决Mac sublime 编译Python UnicodeEncodeError: 'ascii' codec can't encode characters in position 6-8: ordinal not in range(128)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。