Python ——异常备忘

为了便于在Python中安装第三方库,今天在Python下装了pip,分钟内安装完成,兴致勃勃地想一试pip安装的便捷性,

可惜一开始就被碰钉了丫!请看异常信息:

=======前面省略若干字=================
File "C:\Python27\lib\mimetypes.py", line 358, in init
db.read_windows_registry()
File "C:\Python27\lib\mimetypes.py", line 258, in read_windows_registry
for subkeyname in enum_types(hkcr):
File "C:\Python27\lib\mimetypes.py", line 249, in enum_types
ctype = ctype.encode(default_encoding) # omit in 3.x!
UnicodeDecodeError: ‘ascii‘ codec can‘t decode byte 0xb0 in position 1: ordinal
not in range(128)

解码异常,瞬间扫兴的节奏有木有!这个以前也没搞过,怎么办呢?看看异常信息吧,最后读取的File是"C:\Python27\lib

\mimetypes.py",那就到这去看看有木有什么和解码有关的吧(根据异常提示,相关代码应该在249之后啦,找default_encoding吧),

果然,在256行有哦: default_encoding = sys.getdefaultencoding(),字节0xb0是gbk编码范围内的(GB2312中汉字的编码范围为

,第一字节0xB0-0xF7),根据异常信息当前系统默认编码应该是‘ASCII’,改为gbk就ok啦!那么在256行之前加上以下代码:

if sys.getdefaultencoding() != ‘gbk‘: #写GB2312也可以
reload(sys)
sys.setdefaultencoding(‘gbk‘)

再运行,就可以安装咯!

Python ——异常备忘

时间: 2024-11-10 14:59:22

Python ——异常备忘的相关文章

Python异或加密字符串

import os import sys import struct def enc(path, key): path_ret = "" for i in range(0, len(path)/4): path_ret += struct.pack("<L", struct.unpack("<L", path[i*4 : (i*4)+4])[0] ^ key) return path_ret print enc("danie

python学习备忘之编写一个信用卡程序

需求分析如下图所示:这里难点就是现金的替换.我这里的思路是每当使用现金的时候.把用户文件的行变成一个列表,在转换成int类型相加减:得到结果之后用fileinput模块进行替换.下面的步骤流水账还在思考当中.当然提现手续费换算很简单,我这里也没有列出,大致已经完成了.取现.充值.购物等三个功能:(由于是运维所以代码很粗糙) #!/usr/bin/pythonimport fileinputwhile True:        name=raw_input("please input name:&

日常备忘

1.修改chrome为https访问 liebao://net-internals/#hsts [强制https]解决hosts无法访问谷歌等网站的问题 对于Safari,Edge,IE等浏览器,请手动添加https,如: https://www.google.com/ncr https://www.astrill.com Chrome教程如下: 在地址栏输入chrome://net-internals 选择HSTS 输入域名google.com,然后点击add. 然后再输入google.com

Python细节备忘——时常拾遗以及关键点

目录: 字符串的子序列需要注意的问题 原文地址:https://www.cnblogs.com/webfuns/p/8464062.html

Python requests

Python requests备忘 0x01 1 #coding:utf-8 2 import requests 3 4 res = requests.get('http://www.baidu.com') 5 print res.status_code 6 print res.headers['content-type'] #头部信息 7 print res.encoding #编码信息 8 print res.text9 print res.content 0x02 payload 1 im

Python开发过程中17个坑

一.不要使用可变对象作为函数默认值 复制代码代码如下: In [1]: def append_to_list(value, def_list=[]):   ...:         def_list.append(value)   ...:         return def_list   ...: In [2]: my_list = append_to_list(1) In [3]: my_listOut[3]: [1] In [4]: my_other_list = append_to_l

Python程序员鲜为人知但你应该知道的16个问题(转)

add by zhj: 没找到原文出处,只能找到转载的,文中说有17个坑,其实是16个 全文如下 这篇文章主要介绍了Python程序员代码编写时应该避免的16个“坑”,也可以说成Python程序员代码编写时应该避免的17个问题,需要的朋友可以参考下 1. 不要使用可变对象作为函数默认值 代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(value) ...: return def_list ...

Python的16个“坑”

1. 不要使用可变对象作为函数默认值 代码如下: In [1]: def append_to_list(value, def_list=[]): ...: def_list.append(value) ...: return def_list ...: In [2]: my_list = append_to_list(1) In [3]: my_list Out[3]: [1] In [4]: my_other_list = append_to_list(2) In [5]: my_other_

Python开发容易忽略的问题

这篇文章主要介绍了Python程序员代码编写时应该避免的17个"坑",也可以说成Python程序员代码编写时应该避免的17个问题,需要的朋友可以参考下 一.不要使用可变对象作为函数默认值 复制代码代码如下: In [1]: def append_to_list(value, def_list=[]): ...:         def_list.append(value) ...:         return def_list ...: In [2]: my_list = appen