Python编码错误处理

简介:

   如题,我用python 解析文件(文件中含有中文),并写入其他文件时报错:

   UnicodeEncodeError: 'ascii' codec can't encode characters

   经过google大神的指导,确定以下解决方式:

   #coding:utf-8       import sys      reload(sys)       sys.setdefaultencoding('utf-8') 

   疑问:为什么需要reload呢?

   grep -r -i 'setdefaultencoding' /usr/lib/python2.7    输出结果为:
   /usr/lib/python2.7/site.py:        sys.setdefaultencoding(encoding) # Needs Python Unicode build !
   /usr/lib/python2.7/site.py:    # Remove sys.setdefaultencoding() so that users cannot change the
   /usr/lib/python2.7/site.py:    if hasattr(sys, "setdefaultencoding"):
   /usr/lib/python2.7/site.py:        del sys.setdefaultencoding
   Binary file /usr/lib/python2.7/site.pyc matches

   把del sys.setdefaultencoding 防止用户在改变defaultencoding ,这个原因暂时真不知。。

   对于windows平台,上面的办法真不行,对于python 2.x中,总是存在这个问题,在Python 3.x的时候这真不是个事,

  对于windows 平台,

 文件开头声明为 #coding=utf-8,

 写入字符串时,转换编码为GBK

file.write(str.encode('gbk'))

  还要注意的是:open(....) 不能有任何运算,一次 只能写入一行,所以要用 + 来连成一行






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1030862,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
存储 文件存储 Python
python进制和编码
python进制和编码
|
1月前
|
Java 编译器 C语言
python安装、输入输出、注释、中文编码、编码规范等基础语法
python安装、输入输出、注释、中文编码、编码规范等基础语法
|
4月前
|
Python
中文csv文本编码转utf8那些事 - python实现
中文csv文本编码转utf8那些事 - python实现
42 1
|
2月前
|
存储 移动开发 算法
Python怎么将图片转换成base64编码
Python怎么将图片转换成base64编码
32 0
|
4月前
|
数据挖掘 开发工具 Python
基于Python开发的企业编码生成系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的企业编码生成系统(源码+可执行程序+程序配置说明书+程序使用说明书)
|
2天前
|
Python
Python字符串和字节使用正确的编码/解码
【5月更文挑战第6天】Python字符串和字节使用正确的编码/解码
6 2
|
3天前
|
Python
Python明确指定编码
【5月更文挑战第5天】
9 3
|
4天前
|
自然语言处理 Python
Python的编码问题
【5月更文挑战第4天】Python的编码问题
10 3
|
12天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】使用Scikit-learn进行数据编码
【4月更文挑战第30天】本文介绍了Python Scikit-learn库在机器学习数据预处理中的作用,尤其是数据编码。数据编码将原始数据转化为算法可理解的格式,包括标签编码(适用于有序分类变量)、独热编码(适用于无序分类变量)和文本编码(如词袋模型、TF-IDF)。Scikit-learn提供LabelEncoder和OneHotEncoder类实现这些编码。示例展示了如何对数据进行标签编码和独热编码,强调了正确选择编码方法的重要性。
|
16天前
|
存储 JSON 数据处理