解决Python写入中文到文件报错UnicodeEncodeError的方法
本文介绍Python中写入含中文字符串到文件时出现的UnicodeEncodeError错误。提供两种解决方法:一是使用codecs模块打开文件并指定utf-8编码;二是通过sys.setdefaultencoding设置默认编码。详细步骤与代码示例帮助开发者快速修复该问题。
在编写Python脚本时,尝试将包含中文字符的字符串写入文件,系统抛出了报错信息。
----------------------------
错误提示为:UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)。
----------------------------
经查阅相关资料,分析出错原因如下:
Python默认使用open方法打开文件时,仅支持写入ASCII字符。若需写入中文内容,需借助codecs模块(采用此方法后问题得以解决)。
# -*- coding: utf-8 -*-
import codecs
content = u'你好,北京欢迎你'
f = codecs.open('aaa.txt','w','utf-8')
f.write(content)
此外还存在第二种处理方案(未实际测试):
涉及字符集配置问题,需在代码前添加以下两行语句:
reload(sys) sys.setdefaultencoding( "utf-8" )
以上内容为分享解决Python写入中文文件报错问题的完整方案,供读者参考,欢迎继续支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









