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

相关文章

python二进制文件的转译详解

首先导入所需的包:import struct struct有以下几个主要的函数: # 按照给定的格式(fmt),把数据封装成字符串(实际上是类似于c结构体的字节流) pack(fmt...

Centos下实现安装Python3.6和Python2共存

写在前面 centos6.8中默认自带的python版本为python2.6,那么这里需要将其改为python3 下载并解压 官方下载地址为 https://www.python.o...

wtfPython—Python中一组有趣微妙的代码【收藏】

wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样; 通过探寻产生这种结果的内部原因,可以让我们对Pyth...

使用Python的Flask框架来搭建第一个Web应用程序

使用Python的Flask框架来搭建第一个Web应用程序

1、初始化 在这章,你将学到Flask应用程序的不同部分。同时,你将编写和运行你的第一个Flask web应用程序。 所有的Flask应用程序都必须创建一个 应用程序实例 。使用web服...

基于scrapy的redis安装和配置方法

在定向爬虫的制作过程中,使用分布式爬取技术可以显著提高爬取效率。而 Redis 配合 Scrapy 是实现分布式爬取的基础。 Redis 是一个高性能的 Key-Value 数据库,它把...