您的位置:首页 > 编程语言 > Python开发

Atom python3 UnicodeEncodeError: 'ascii' codec can't encode characters in position

2017-10-05 14:02 597 查看
code:

import sys
print(sys.getdefaultencoding())
f = open("/Users/wqh/Desktop/foo.txt", "w")

f.write( "有错误" )
f.close()


utf-8
Traceback (most recent call last):
File "/Users/wqh/Desktop/t.py", line 5, in <module>
f.write( u"Python \u662f\u4e00\u4e2a\u975e\u5e38\u597d\u7684\u8bed\u8a00\u3002\n\u662f\u7684\uff0c\u7684\u786e\u975e\u5e38\u597d!!\n" )
UnicodeEncodeError: 'ascii' codec can't encode characters in position 7-16: ordinal not in range(128)


首先发现默认的编码是utf-8 但是还是出错 Google无果 应该是代码编辑器Atom的问题。

解决:

f = open("/Users/wqh/Desktop/foo.txt", "w",encoding='utf8')


或者

import codecs
f = codecs.open('/Users/wqh/Desktop/foo.txt','w+','utf-8')
f.write( "codecs 修改成功 \n" )


在Atom下解决:

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


或者

使用atom-python-run 替代 atom-run
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python
相关文章推荐