python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8
查看目前系统字符集

代码如下:

import sys
print sys.getdefaultencoding()

执行:

代码如下:

[root@lee ~]# python a.py
ascii

修改成utf-8

代码如下:

import sys
 
sys.setdefaultencoding('utf-8')
 
print sys.getdefaultencoding()

执行:

代码如下:

[root@lee ~]# python a.py
Traceback (most recent call last):
  File "a.py", line 4, in <module>
    sys.setdefaultencoding('utf-8')
AttributeError: 'module' object has no attribute 'setdefaultencoding'
提示:AttributeError: 'module' object has no attribute 'setdefaultencoding'?

后来经过查找相关资料,才发现早期版本可以直接sys.setdefaultencoding('utf-8'),新版本需要先reload一下

代码如下:

import sys
 
reload(sys)
sys.setdefaultencoding('utf-8')
 
print sys.getdefaultencoding()

执行

代码如下:

[root@lee ~]# python a.py
utf-8

(0)

相关推荐

  • Python中字典的setdefault()方法教程

    前言 在python基础知识中有说过,字典是可变的数据类型,其参数又是键对值.setdefault()方法和字典的get()方法在一些地方比较相像,都可以得到给定键对应的值.但setdefault()方法可以在字典中并不包含有给定键的情况下,为给定键设定相应的值. Python 字典的 setdefault 方法原型如下: dict.setdefault(key, default=None) 如果给定的 key 在字典中则返回该值,如果不在字典中,就将 key 插入到字典中,并将值设置为指定的

  • Java map.getOrDefault()方法的用法详解

    Map.getOrDefault(Object key, V defaultValue)方法的作用是: 当Map集合中有这个key时,就使用这个key值: 如果没有就使用默认值defaultValue. 代码示例如下: HashMap<String, String> map = new HashMap<>(); map.put("name", "cookie"); map.put("age", "18"

  • python字典setdefault方法和get方法使用实例

    这篇文章主要介绍了python字典setdefault方法和get方法使用实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在python的字典对象中,可以直接使用键名获取键值,像这样: >>> d = {"x":1,"y":2} >>> d["x"] >>> d["y"] >>> 但如果键名不存在,则

  • default怎么修饰接口中的方法详解

    一.default修饰接口中的方法 在实现HandlerInterceptor接口时,我发现不实现HandlerInterceptor接口的方法也不会报错 仔细想来,还是我对接口的理解不清晰. 打开源码发现HandlerInterceptor接口中的方法都是default 在以前的接口编写中,我总是省略权限修饰符,因为在接口中的方法中默认是public abstract. 那么再来对接口进行总结. 那么也就是说,实现类要覆盖接口中的抽象方法就能实例化,而HandlerInterceptor接口中

  • Java 8中default方法能做什么?不能做什么?

    什么是default方法? Java 8 发布以后,可以给接口添加新方法,但是,接口仍然可以和它的实现类保持兼容.这非常重要,因为你开发的类库可能正在被多个开发者广泛的使用着.而Java 8之前,在类库中发布了一个接口以后,如果在接口中添加一个新方法,那些实现了这个接口的应用使用新版本的接口就会有崩溃的危险. 有了Java 8,是不是就没有这种危险了?答案是否定的. 给接口添加 default 方法可能会让某些实现类不可用. 首先,让我们看下 default 方法的细节. 在Java 8中,接口

  • python 字典 setdefault()和get()方法比较详解

    dict.setdefault(key, default=None) --> 有key获取值,否则设置 key:default,并返回default,default默认值为None dict.get(key, default=None) --> 有key获取值,否则返回default.default默认值为None. 例子:循环迭代message字符串中每个字符,计算每个字符出现的次数 import pprint message = "It is a good day, is not

  • Java8新特性之默认方法(default)浅析

    一.什么是默认方法,为什么要有默认方法 简单说,就是接口可以有实现方法,而且不需要实现类去实现其方法.只需在方法名前面加个default关键字即可. 为什么要有这个特性?首先,之前的接口是个双刃剑,好处是面向抽象而不是面向具体编程,缺陷是,当需要修改接口时候,需要修改全部实现该接口的类,目前的java 8之前的集合框架没有foreach方法,通常能想到的解决办法是在JDK里给相关的接口添加新的方法及实现.然而,对于已经发布的版本,是没法在给接口添加新方法的同时不影响已有的实现.所以引进的默认方法

  • Python使用defaultdict读取文件各列的方法

    本文实例讲述了Python使用defaultdict读取文件各列的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python """USAGE: python *.py align_SNP_site out_file""" import sys #import time from collections import Counter #t0=time.clock() info=open(sys.argv[1]) fast=sys.

  • python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

    Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys   sys.setdefaultencoding('utf-8')   print sys.get

  • python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法

    Python的字符集处理实在蛋疼,目前使用UTF-8居多,然后默认使用的字符集是ascii,所以我们需要改成utf-8 查看目前系统字符集 复制代码 代码如下: import sys print sys.getdefaultencoding() 执行: 复制代码 代码如下: [root@lee ~]# python a.py ascii 修改成utf-8 复制代码 代码如下: import sys   sys.setdefaultencoding('utf-8')   print sys.get

  • python错误提示:Errno 2] No such file or directory的解决方法

    目录 1.问题描述: 2.解决方法: 3.小结: 总结 1.问题描述: 在学习北京大学曹健老师的tensorflow2.0笔记的时候,遇到了 [Errno 2] No such file or directory: './mnist_image_label/mnist_train_jpg_60000.txt' 这个没有查找到子文件或者子文件夹的问题. 2.解决方法: 首先,确定所写的路径中包含相应的文件夹或者文件. 其次,如果文件名字或者路径没写错,查看自己是否使用相对路径(绝对路径一般不会报错

  • Python3下错误AttributeError: ‘dict’ object has no attribute’iteritems‘的分析与解决

    引言 目前Python2和Python3存在版本上的不兼容性,这里将列举dict中的问题之一.下面话不多说,来看看详细的介绍: 1. Python 2  vs python 3 根据Python社区的主流要求,Python 2将在最近的若干年内不再提供技术支持,目前的python 2.7.12已经是其维护版本:如无意外,大家请参照使用Python 3. Python 3与Python 2之间的割裂以及向下不兼容性是其一个非常著名的事件,给整个社区和相关应用造成了相当的困扰. 2.  问题 Pyt

  • python报错: 'list' object has no attribute 'shape'的解决

    numpy.array可使用 shape.list不能使用shape. 可以使用np.array(list A)进行转换. (array转list:array B B.tolist()即可) 补充知识:Pandas使用DataFrame出现错误:AttributeError: 'list' object has no attribute 'astype' 在使用Pandas的DataFrame时出现了错误:AttributeError: 'list' object has no attribut

  • 解决AttributeError: ‘NoneType‘ object has no attribute ‘Window‘的问题(亲测有效)

    目录 报错问题 报错翻译 报错原因 已解决VSCode运行强化学习代码抛出异常AttributeError: ‘NoneType’ object has no attribute ‘Window’pyglet.canvas.xlib.NoSuchDisplayException: Cannot connect to “None” 的正确解决方法,亲测有效!! 报错问题 一个小伙伴遇到问题跑来私信我,在VSCode运行强化学习代码,但是发生了报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮

  • 修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法

    之前把现有这台阿里CentOS7.2系统的Python2.7.5升级成Python3.6后,yum工具就不能不觉使用了.当时查了下说明python版本的问题,但是用网上的方法还是没解决,后面也就一直没管了.最近要弄一个Nodejs小程序,需要用yum安装一些开发工具,不得不修复这个问题. 1 yum工具报错情况 直接执行 yum 命令就会提示 /usr/bin/yum 文件第34行有错误: [root@typecodes ~]# yum File "/usr/bin/yum", lin

  • HTTP 错误 403.1禁止访问:禁止执行访问的完美解决方法

    HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 解决方法该页无法显示 您试图从目录中执行 CGI.ISAPI 或其他可执行程序,但该目录不允许执行程序. 请尝试以下操作: 如果您认为该目录应该允许执行访问权限,请与网站管理员联系. HTTP 错误 403.1 - 禁止访问:执行访问被拒绝. 技术信息(为技术支持人员提供) 转到 Microsoft 产品支持服务并搜索包括"HTTP"和"403"的标题. 打开"IIS 帮助"(可在 II

  • 解析错误富文本json字符串(带双引号)的快速解决方法

    公司的项目,通过json传回来的是这么个东西: NewsId":"94f52614-8764-46d7-a5fe-d0da1fe878ed","NewsTitle":"大型公选课<可持续发展与未来>系列二之现代经济(绿色经济)开始网上选课报名","NewsContent":"<span style="font-size:12pt;font-family:宋体;color:blac

  • Python实现动态添加类的属性或成员函数的解决方法

    某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法.用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块. 本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下: 首先我们可以参考ulipad的实现:mixin. 这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数. 代码如下所示: class WinBAS(Bas): def

随机推荐