Python3 try-except、raise和assert解析】的更多相关文章

Python3 try-except.raise和assert解析 一.说明 关于异常捕获try-except:在学java的时候就被教育异常捕获也是java相对c的一大优点,几年下来多少也写了些代码,但异常捕获总只得其形未得其神,在自己这只是让发生错误的程序在不必要终止时不终止而已. 关于主动抛出异常raise:前段时间看到robot framework判断测试用例运行失败,是监控自己使用raise主动抛出的异常,这才有了主动抛出异常的概念. 关于断言assert:前段时间写了个模糊测试工具,…
python中raise和assert的区别 一.使用raise抛出异常 python可以自动触发异常,raise(内置函数)的定义为显示的抛出异常,用户可以使用raise进行判断,显式的引发异常,raise执行后程序将不再向下执行. 式例: #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = '40kuai' books_dict = {'name':'python','pages':390} key = input('查看属性:…
要故意出发异常,可以使用raise语句,形式如下: raise <name>  #manually trigger an exception raise<name>,<value> #pass extra data to catcher too raise  #re-raise the most recent excepti 第二种形式可以随着异常传递额外的数据,从而为处理器提供细节. assert <test>,<data>  #<dat…
二.Beautiful Soup 简介 就是python的一个HTML或XML的解析库 可以用它来很方便的从网页中提取数据 0.1 提供一些简单的 python式的函数来处理导航,搜索,修改分析树等功能, 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用 0.2 自动将输入的文档转换为Unicode编码,输出文档转换为UTF-8编码,不需要考虑编码方式, 除非文档没有指定一个编码方式,这是你仅仅需要说明以下原始编码格式就可以了. 0.3…
使用raise抛出异常 当程序出现错误,python会自动引发异常,也可以通过raise显式地引发异常.一旦执行了raise语句,raise后面的语句将不能执行. 演示raise用法. try: s = None if s is None: print "s 是空对象" raise NameError #如果引发NameError异常,后面的代码将不能执行 print len(s) except TypeError: print "空对象没有长度" 自定义异常 py…
工作中需要调用一个http的接口,等不及java组开发,就试着用python去调用.Python版本3.4.3 完整的流程包括:从sqlServer取待调用的合同列表 -> 循环调用http接口 -> 将response写入xml文件 -> 解析xml -> 插入oracle数据库 要去公司旅游了,先把代码放着,以后再详细解释记录一下. #!/usr/bin/python3 import time import pymssql import urllib.parse import…
三.pyquery 简介:同样是一个强大的网页解析工具 它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便 安装: pip install pyquery 验证: import pyquery 初始化时 也需要传入HTML文本 初始化一个PyQuery对象 初始化方式有多种 例如直接传入字符串,传入URL,传入文件名等等. 1. 字符串初始化 示例: html = ''' <div> <ul> <li class="item-0&qu…
一.XPath 全称 XML Path Language 是一门在XML文档中 查找信息的语言 最初是用来搜寻XML文档的 但是它同样适用于HTML文档的搜索 XPath 的选择功能十分强大,它提供了非常简洁的路径选择表达式,另外还提供了超过100个内置函数,用于字符串,数值,时间的匹配以及节点和序列的处理 XPath 于1999年11月16日成为W3C标准 被设计为供XSLT.XPointer.以及其它XML解析软件使用 <<< 常用规则 表达式 描述 nodename 选取此节点的所…
raise: raise语句手工引发一个异常:,这样做程序不会因异常而终止,而是运行报错 1 "raise" [expression ["," expression ["," expression]]] def fun(x,y): if y == 0: raise ZeroDivisionError('y besides 0') return x / y >>>fun(2,0) #报错信息 raise ZeroDivisionE…
raise表示会抛出异常那么就是说raise会向python的解释器一个响应告诉解释器他的后面是一个异常让我们的程序中断 一般是和自定义的异常连用. class CustomError(Exception): def __init__(self): def main(): try : s=input("请输入字符串:") if len(s)<3: raise CustomError(object1,object2) except CustomError as result: pr…
1.新建xml import xml.etree.ElementTree as ETa=ET.Element('elem')c=ET.SubElement(a,'child1')c.text="some text"d=ET.SubElement(a,'child2')d.text="hellp"root=ET.Element('root')root.extend(a)tree= ET.ElementTree(root)tree.write("test3.x…
import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'Runoob', 'url' : 'http://www.runoob.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str) import json # Python 字典类型转换为 JSON…
[本文出自天外归云的博客园] 用python3对json内容逐层进行解析,拿中国天气网的接口返回数据测试,代码如下: # -*- coding: utf-8 -*- import operator as op from collections import defaultdict class Json(object): def __init__(self, json: str): sth = eval(json) load = lambda sth: sth if op.eq(type(sth)…
########sample 0 https://www.cnblogs.com/Simon-xm/p/4073028.html except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,<数据>:捕获指定异常及其附加的数据 except:<异常名1,异常名2>:<数据>:捕获异常名1或者异常名2,及附加的数据库 常用异常名: 异常名…
题记 在之前的文章中我自定义安装了Python3,并且修改了默认的 Python软链,今天想搭建一个 ftp 服务器,使用命令的时候出现了一个错误: 问题 1.使用 yum 安装 ftp工具 yum install -y vsftpd 报错 总下载量:169 k 安装大小:348 k Is this ok [y/d/N]: y Downloading packages: File "/usr/libexec/urlgrabber-ext-down", line 28 except OS…
assert语句,如果没记错,这个东西在C或者C++里面也有的.属于短小的断言.下面的是来自python help document的说明: Assert statements are a convenient way to insert debugging assertions into a program: assert语句是一种插入调试断点到程序的一种便捷的方式. assert语句的使用格式 assert expression 这个语句是等价于下面的个句式: if __debug__: i…
Python assert(断言)用于判断一个表达式,在表达式条件为 False 的时候触发异常. 断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况. 语法格式: assert expression 等价于: if not expression: raise AssertionError assert后可跟参数: assert expression[,assert_error_msg] 等价于: if not expression: raise Asserti…
Python小白,学习时候用到bs4解析网站,报错 bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library? 几经周折才知道是bs4调用了python自带的html解析器,我用的mac,默认安装的是python2,所以内置的解释器也是捆绑在python2上,而我学习的时候又自己安装了python3…
来自<python学习手册第四版>第七部分,而且本书发布的时候3.1还未发布,所以针对本书的一些知识会有些滞后于python的版本,具体更多细节可以参考python的标准手册. 一.异常基础(第32章) 异常时可以改变程序中控制流程的时间.在python中异常会根据错误自动的被触发,也能由代码触发和截获.异常由四个语句处理,第一种由两种编译,二最后一张在2.6和3.0之前都是可选的扩展功能. 1.a)try/except:捕获由python或我们引起的异常并恢复:b)try/finally:无…
目录 Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www.cnblogs.com/hany-postq473111315/p/12256337.html Python 基础语法 https://www.cnblogs.com/hany-postq473111315/p/12257287.html Python 变量类型及变量赋值 https://w…
Python编程语言简介 https://www.cnblogs.com/hany-postq473111315/p/12256134.html Python环境搭建及中文编码 https://www.cnblogs.com/hany-postq473111315/p/12256337.html Python 基础语法 https://www.cnblogs.com/hany-postq473111315/p/12257287.html Python 变量类型及变量赋值 https://www.…
在shell脚本中,常用if来判断程序的某个部分是否可能会出错,并在if的分支中做出对应的处理,从而让程序更具健壮性.if判断是异常处理的一种方式,所有语言都通用.对于特性完整的编程语言来说,都有专门的异常处理机制,有些语言用起来可能会很复杂,要求一堆堆的,有些语言则非常简洁,用起来非常通畅. 入门示例 异常处理:try/except 对于索引查找的操作,在索引越界搜索的时候会报错.例如: >>> s="long" >>> s[4] Tracebac…
目录 Python 关键字 整数 整数转换函数 整数位逻辑操作符 浮点类型 math模块函数与常量 复数 精确的十进制数字 decimal 字符串 str.format() 格式规约 Python 关键字 and continue except global lambda pass while as def False if None raise with assert del finally import nonlocal return yield break elif for in not…
你可能会想,卧槽这标题取的,前面不是说异常就是报错吗?异常还能运用? 是的,异常确实可以运用,可以刻意制造异常,在出现异常时捕获异常并对异常处理,所以进入本篇博文的话题—异常处理 异常处理: 异常处理分两个,捕获异常和抛出异常 一.捕获异常 1.为什么要捕获异常? 这个问题应该都会想到的,出错就出错,改就是啊,不急,先看一个例子: 我个人理解:在实际的开发中,异常是很常见的,程序员需要事先考虑所有的可能性,不然的话,你把你的程序给用户用,出现像上面这个情况,这样影响很大,在客户的角度,他们不管是…
    线程:     什么是线程? 线程是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务 每一个程序的内存是独立的,互相不能直接访问.     进程: 以一个整体的形式暴露给操作系统管理,里面包含对各种资源的调用,内存的对各种资源管理的集合就可以称为进程.进程本身是不可以执行的,只是一堆指令,操作系统是线程执行的. 表面看进程在执行,其实是线程在执行,一个进程至少包…
except: #捕获所有异常 except: <异常名>: #捕获指定异常 except:<异常名1,异常名2):捕获异常1或者异常2 except:<异常名>,<数据>:捕获指定异常及其附加的数据 except:<异常名1,异常名2>:<数据>:捕获异常名1或者异常名2,及附加的数据库 常用异常名: 异常名    描述 AttributeError 调用不存在的方法引发的异常 EOFError     遇到文件末尾引发的异常 Impor…
1.开始一个项目: 进入创建的目录,然后: django-admin startproject myblog 2.启动开发服务器: python manage.py runserver 注:默认是8000端口,可以改,比如: python manage.py runserver 8001 3.一个视图就是Python的一个函数.这个函数第一个参数的类型是HttpRequest:它返回一个HttpResponse实例.为了使一个Python的函数成为一个Django可识别的视图,它一般必须满足这两…
一.简述列表与元组的区别 答: 元组tuple与列表List相同点 元组tuple与列表List都是序列类型的容器对象,可以存放任何类型的数据.支持切片.迭代等操作. 元组tuple与列表List区别: 1.不可变与可变:两种类型除了字面上的区别(括号与方括号)之外,最重要的一点是tuple是不可变类型,大小固定,而list是可变类型.数据可以动态变化,这种差异使得两者提供的方法.应用场景.性能上都有很大的区别. 2.同样大小的数据,tuple 占用的内存空间更少,原子性的 tuple 对象还可…
Python strip()方法 用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列. #!/usr/bin/python # -*- coding: UTF-8 -*- str = "00000003210Runoob01230000000"; ' ); # 去除首尾字符 0 str2 = " Runoob "; # 去除首尾空格 print str2.strip(); random.randint()与np.random.randint()的区别 ra…
Python部落组织翻译, 禁止转载 目录      缩进      制表符还是空格?      行的最大长度      空行      源文件编码      导入      无法忍受的      其它建议      注释块      行内注释      文档字符串      根本原则      描述:命名风格      规定:命名约定 介绍 本文档所提供的编码规范,适用于主要的Python发行版中组成标准库的Python代码.请参阅PEP关于Python的C实现的C编码风格指南的描述[1].…