解决Python写入中文到文件报错UnicodeEncodeError的方法

落日邮差
落日邮差
发布时间:2026-10-13 | 2人浏览过
原创

本文介绍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写入中文文件报错问题的完整方案,供读者参考,欢迎继续支持本站。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表