[python篇][1]configparser 问题汇总

https://wiki.python.org/moin/ConfigParserExamples

1 错误一

nicodeEncodeError: ‘ascii‘ codec can‘t encode characters in position 0-2: ordinal not in range(128)

‘ascii‘ codec can‘t encode characters in position 8-50: ordinal not in range(128)

python在安装时,默认的编码是ascii,当程序中出现非ascii编码时,python的处理常常会报这样的错UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0x?? in position 1: ordinal not in range(128),python没办法处理非ascii编码的,此时需要自己设置将python的默认编码,一般设置为utf8的编码格式。

查询系统默认编码可以在解释器中输入以下命令:

Python代码

  1. >>>sys.getdefaultencoding()

设置默认编码时使用:

Python代码

  1. >>>sys.setdefaultencoding(‘utf8‘)

可能会报AttributeError: ‘module‘ object has no attribute ‘setdefaultencoding‘的错误,执行reload(sys),在执行以上命令就可以顺利通过。

此时在执行sys.getdefaultencoding()就会发现编码已经被设置为utf8的了,但是在解释器里修改的编码只能保证当次有效,在重启解释器后,会发现,编码又被重置为默认的ascii了,那么有没有办法一次性修改程序或系统的默认编码呢。

有2种方法设置python的默认编码:

一个解决的方案在程序中加入以下代码:

Python代码

  1. import sys
  2. reload(sys)
  3. sys.setdefaultencoding(‘utf8‘)

另一个方案是在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为:

Python代码

  1. # encoding=utf8
  2. import sys
  3. reload(sys)
  4. sys.setdefaultencoding(‘utf8‘)

此时重启python解释器,执行sys.getdefaultencoding(),发现编码已经被设置为utf8的了,多次重启之后,效果相同,这是因为系统在python启动的时候,自行调用该文件,设置系统的默认编码,而不需要每次都手动的加上解决代码,属于一劳永逸的解决方法。

时间: 2024-10-27 13:16:39

[python篇][1]configparser 问题汇总的相关文章

编程中遇到的Python错误和解决方法汇总整理

这篇文章主要介绍了自己编程中遇到的Python错误和解决方法汇总整理,本文收集整理了较多的案例,需要的朋友可以参考下 开个贴,用于记录平时经常碰到的Python的错误同时对导致错误的原因进行分析,并持续更新,方便以后查询,学习.知识在于积累嘛!微笑+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++错误: 复制代码代码如下: >>> def f(x, y):      print x, y  >>> t

《码农周刊》干货精选--Python篇(转)

原文:http://baoz.me/446252 码农周刊 如何让 Python 代码运行得更快? 作者给出了 18 条 Python 代码性能优化小贴士,简单明了,拿来即用. http://infiniteloop.in/blog/quick-python-performance-optimization-part-i/ Python 学习资源列表 (kirang89) 海量 Python 学习资源列表,涉及 Python 学习的方方面面. https://github.com/kirang8

学习编程之Python篇(一)

第一次接触编程,你将面对两大难题: 1.  对所要使用的编程语言的语法和语义不甚了了. 2.  不知道如何通过编程来解决问题. 作为一名新手,你会尝试同时来解决这两个难题:一边熟悉编程语言的语法语义,一边考虑如何靠编程解决问题.这是一个循序渐进的过程,万事开头难,务必保持耐心,切勿操之过急. 学习编程其实没有什么捷径可走,最好的方法就是反复操练,聆听规则,讨论方法,都不如真正做点什么. 在掌握了一些编程语言的语法语义之后,接下来的难题就是怎样才能写出好的程序.那么,我们首先来看看什么是好的程序.

C++混合编程之idlcpp教程Python篇(8)

上一篇在这 C++混合编程之idlcpp教程Python篇(7) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial6中,同样加入了四个文件:PythonTutorial6.cpp, Tutorial6.cpp, Tutorial6.i, tutorial6.py.其中PythonTutorial6.cpp的内容基本和PythonTutorial5.cpp雷同,不再赘述.首先看一下Tutorial6.i的内容: #import "../../p

C++混合编程之idlcpp教程Python篇(4)

上一篇在这 C++混合编程之idlcpp教程Python篇(3) 第一篇在这 C++混合编程之idlcpp教程(一) 与前面的工程相似,工程PythonTutorial2中,同样加入了三个文件 PythonTutorial2.cpp, Tutorial2.i, tutorial2.py.其中PythonTutorial2.cpp的内容基本和PythonTutorial1.cpp雷同,不再赘述.首先看一下Tutorial2.i的内容: namespace tutorial { struct Poi

C++混合编程之idlcpp教程Python篇(3)

上一篇 C++混合编程之idlcpp教程Python篇(2) 是一个 hello world 的例子,仅仅涉及了静态函数的调用.这一篇会有新的内容. 与PythonTutorial0相似,工程PythonTutorial1中,同样加入了三个文件 PythonTutorial1.cpp, Tutorial1.i, tutorial1.py 其中PythonTutorial1.cpp的内容基本和PythonTutorial0.cpp雷同,不再赘述. 首先看一下Tutorial1.i的内容: name

Python字典高级使用方法汇总

Python字典高级使用方法汇总 字典(dictionary)是python中的一种非常灵活和强大的数据结构,可以完成很多操作.本文总结了一些除了基本的初始化.赋值.取值之外的常用的字典使用方法. 字典基础参考: [1]:http://www.w3cschool.cc/python/python-dictionary.html [2]:http://www.111cn.net/phper/python/56355.htm [3]:http://skyfen.iteye.com/blog/5675

学习编程之Python篇(二)

学习编程与学习踢球.学习演奏并无差别,最佳方式就是不断练习,所以我们鼓励你敲些代码,看看会发生什么,如果这些代码头一次不起作用,没关系,再来,看看你能否把它们纠正过来. 首先是一个简单的快速入门程序,让我们通过了解这个程序的细节,来熟悉Python. 第一项任务:给定半径,计算一个圆的周长和面积. 程序分解: 1.  提示用户输入半径: 2.  应用数学公式,根据获得的半径,得出周长和面积: 3.  输出结果. 代码1.1 运行程序的最简单方法是在IDLE编辑器里打开它,然后选择Run->Run

如何高效地学习数据结构——Python篇

原文链接:http://www.datastudy.cc/to/43 我们来看看如何高效地学习一门语言的数据结构,今天我们先看Python篇. 所谓数据结构,是指相互之间存在一种或多种特定关系的数据类型的集合. Python在数据分析领域中,最常用的数据结构,莫过于DataFrame了,今天我们就介绍如何高效地学习DataFrame这种数据结构. 要学习好一种东西,最好给自己找一个目标,达到了这个目标,我们就是学好了.一般,我在学习一门新的语言的数据结构的时候,一般要求自己达到以下五个要求: 第