目录 python中常见的异常信息+处理方法 常见异常类型 异常处理 python中常见的异常信息+处理方法 常见异常类型 异常类名 功能描述 Exception 所有异常的基类 ValueError 对象值不正确时引发该错误 AttributeError 对象中没有该属性或方法时引发该错误 SyntaxError 语法错误时引发该错误 IndexError 指定数据类型索引超出序列范围时引发该错误 KeyError 申请字典或集合不存在的键或关键字时引发该错误 NameError 使用不存在的…
Python中关于"中文乱码"的问题,现规整如下,并统一回答 同学问: jacky:我在爬取XX网站信息的时候,中文怎么总是显示的乱码? jacky:UTF-8与GBK到底是个啥? jacky:我用的是Mac系统,网上说Python3中默认的编码是UTF-8,可我显示中文时怎么还是乱码? (一)逻辑导图 Created with Raphaël 2.1.0Python中为什么会出现乱码?解码与编码方式不一致解码与编码具体方式有哪些?实质是什么?Python乱码问题总结 (二)基础铺垫…
Python 异常处理--raise函数用法 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象.执行raise语句时,Python会创建指定的异常类的一个对象.raise语句还可指定对异常对象进行初始化的参数.为此,请在异常类的名称后添加一个逗号以及指定的参数(或者由参数构成的一个元组). 例如:在scrapy官网可以看到,scrapy异常处理的丢弃item中的DropItem()异常处理.…
在python开发中,代码书写时难免有疏忽或者意向不到的bug,导致程序run的过程中有可能会直接崩溃:然后对于程序猿而言,程序因bug崩溃是家常便饭,为了增加程序的健壮性,防止程序崩溃,我们可以对程序的有可能发生崩溃的代码增加异常处理,以达到程序稳健运行的目的. 一.异常的概念 一般情况,python无法正常处理程序时,就是会产生异常,举个例子: 1.大家都知道分母不能为0,如果分母为0,程序必然崩溃: x = 3/0 程序崩溃/报错:ZeroDivisionError: division b…
目录 1.粘包及其成因 1.1.粘包产生 1.2.粘包产生的原因 2.尝试解决粘包 2.1.指定数据包的长度 2.2.固定数据包的长度 2.3.用函数实现多次调用发送数据 3.解决粘包问题的正确姿势 3.1.struct模块功能示例 3.2.struct优雅的解决粘包问题 3.3.struct模块功能函数化 3.4.证实粘包问题被解决 1.粘包及其成因 1.1.粘包产生 先来看一个案例,单进程启动一个tcp socket通信,从服务端发送两次数据到客户端. 服务端tcp_socket_serve…
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描, Sql 代码 : select id from t where num is null; 可以在 num 上设置默认值 0,确保表中 num 列没有 null 值,然后这样查询: Sql 代码 : select id from t where num=0; 3.应尽量避免在 wh…
paip.日志中文编码原理问题本质解决python 默认的python日志编码仅仅gbk...保存utf8字符错误..输出到个eric5的控制台十默认好像十unicode的,要是有没显示出来的字符,大概十字体问题..调整eric5的字体走ok兰. #调用封装 from log import * iniLog (r"c:\enPn2atiEnPh.log")       logx("xxx") #主要的代码 设置文件编码为utf8  handler = logging…
之前在学习python的时候有整理过python异常处理的文章,不够简单也不够完整,所以决定再整理一篇,算做补充. http://www.cnblogs.com/fnng/archive/2013/04/28/3048356.html python shell >>> open('abc.txt','r') Traceback (most recent call last): File "<stdin>", line 1, in <module>…
一个程序要保持稳定运行必须要有异常处理,本文将简单介绍Python中的try-except..异常处理语句的使用. 该种异常处理语法的规则是: 执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句. 如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句. 如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制. 如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中. 如果…
raise语句手工引发一个异常: "raise" [expression ["," expression ["," expression]]] 在Python中,要想引发异常,最简单的形式就是输入关键字raise,后跟要引发的异常的名称.异常名称标识出具体的类: Python异常处理是那些类的对象.执行raise语句时,Python会创建指定的异常类的一个对象.raise语句还可指定对异常对象进行初始化的参数.为此,请在异常类的名称后添加一个逗号…