解决python写入带有中文的字符到文件错误的问题

yipeiwu_com6年前Python基础

在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设计】。

相关文章

pytorch程序异常后删除占用的显存操作

1-删除模型变量 del model_define 2-清空CUDA cache torch.cuda.empty_cache() 3-步骤2(异步)需要一定时间,设置时延...

解决python gdal投影坐标系转换的问题

要将xian80地理坐标系转换成投影坐标系: xian1980 = """ GEOGCS["GCS_Xian_1980", DATUM["Xian_1980", SPHE...

用Python的SimPy库简化复杂的编程模型的介绍

在我遇到 SimPy 包的其中一位创始人 Klaus Miller 时,从他那里知道了这个包。Miller 博士阅读过几篇提出使用 Python 2.2+ 生成器实现半协同例程和“轻便”...

对DataFrame数据中的重复行,利用groupby累加合并的方法详解

对DataFrame数据中的重复行,利用groupby累加合并的方法详解

pandas读取一组数据,可能存在重复索引,虽然可以利用drop_duplicate直接删除,但是会删除重要信息。 比如同一ID用户,多次登录学习时间。要计算该用户总共‘'学习时间‘',...

浅谈Python中range和xrange的区别

range()是Python的内置函数,用于创建整数的列表,可以生成递增或者递减的数列。xrange也有相同的功能, 今天来看下它们之间的不同。 range 函数说明:...