python 09 数据包 异常处理
pickle模块操作文件
pickle.dump(obj, file[, protocol])
序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。
------------------------------------------
pickle.load(file)
读取file
>>> import pickle
>>> my_list = [1,2]
>>> pi_file = open ( 'my_list.pkl','wb') #创建文件,2进制
>>> pickle.dump(my_list,pi_file) #把my_list放入pi_file
>>> pickle.close()
>>> pi_file.close()
>>> pi_file = open ( 'my_list.pkl','rb') #打开文件,2进制
>>> my_list2 = pickle.load(pi_file) #把文件的内容赋予my_list2
>>> print(my_list2)
[1, 2]
常用方法:
数据过大的 集合,列表,字典 可放入一个文件(数据包),然后在代码内部调用
打开文件,显示文件内容
file_name = input ('打开的文件名:')
f = open (file_name)
for e in f:
print(e)
编译器显示
|
Python标准异常总结
|
以下是 Python 内置异常类的层次结构:
BaseException
+-- SystemExit
+-- KeyboardInterrupt
+-- GeneratorExit
+-- Exception
+-- StopIteration
+-- ArithmeticError
| +-- FloatingPointError
| +-- OverflowError
| +-- ZeroDivisionError
+-- AssertionError
+-- AttributeError
+-- BufferError
+-- EOFError
+-- ImportError
+-- LookupError
| +-- IndexError
| +-- KeyError
+-- MemoryError
+-- NameError
| +-- UnboundLocalError
+-- OSError
| +-- BlockingIOError
| +-- ChildProcessError
| +-- ConnectionError
| | +-- BrokenPipeError
| | +-- ConnectionAbortedError
| | +-- ConnectionRefusedError
| | +-- ConnectionResetError
| +-- FileExistsError
| +-- FileNotFoundError
| +-- InterruptedError
| +-- IsADirectoryError
| +-- NotADirectoryError
| +-- PermissionError
| +-- ProcessLookupError
| +-- TimeoutError
+-- ReferenceError
+-- RuntimeError
| +-- NotImplementedError
+-- SyntaxError
| +-- IndentationError
| +-- TabError
+-- SystemError
+-- TypeError
+-- ValueError
| +-- UnicodeError
| +-- UnicodeDecodeError
| +-- UnicodeEncodeError
| +-- UnicodeTranslateError
+-- Warning
+-- DeprecationWarning
+-- PendingDeprecationWarning
+-- RuntimeWarning
+-- SyntaxWarning
+-- UserWarning
+-- FutureWarning
+-- ImportWarning
+-- UnicodeWarning
+-- BytesWarning
+-- ResourceWarning
异常检测
try-except
try:
检测范围
except Exception[as reason]
出现异常(Exception)后的处理代码
else:
其余代码
try:
f = open ('1234567890') #不存在的文件
print(f)
f.close
except OSError: #出错
print('出错')
执行结果
出错
try:
f = open ('1234567890')
print(f)
f.close
except OSError as reason: #错误原因
print('出错' +str(reason ))
执行结果
出错[Errno 2] No such file or directory: '1234567890'
try:
sum = 1+'1'
f = open ('1234567890')
print(f)
f.close
except OSError as reason:
print('文件出错' +str(reason ))
except TypeError as reason:
print('类型出错' +str(reason ))
不推荐
try:
sum = 1+'1'
f = open ('1234567890')
print(f)
f.close
except:
print('出错' )
except OSErro rTypeError: #可放到一起
try-finally
try:
检测范围
except Exception[as reason]
出现异常(Exception)后的处理代码
finally:
无论如何都会被执行的代码
try:
sum = 1+'1'
f = open ('0.txt','w') #创建0
print(f.write('i')) #写入i
sum = 1+'1' #一个错误,当发现错误时,直接跳到except
f.close #没有执行,所以没有写入i
except:
print('出错' )
try:
sum = 1+'1'
f = open ('1234567890','w')
print(f.write('i')
sum = 1+'1'
except:
print('出错' )
finally:
f.close() #一定会执行
raise() 自己触发异常
>>> raise ZeroDivisionError ('!')
Traceback (most recent call last):
File "<pyshell#312>", line 1, in <module>
raise ZeroDivisionError ('!')
ZeroDivisionError: !
python 09 数据包 异常处理的更多相关文章
- scapy - 基于python的数据包操作库
简介 地址:https://github.com/secdev/scapy scapy是一个基于python的交互式数据包操作程序和库. 它能够伪造或者解码多种协议的数据包,通过使用pcap文件对他们 ...
- python 导入数据包的几种方法
1.直接导入整个数据包:improt 数据包 参考代码: # -*- coding:utf-8 -*- # 导入random数据包 import random # 引用random数据包中的randi ...
- python 脚本开发实战-当当亚马逊图书采集器转淘宝数据包
开发环境python2.7.9 os:win-xp exe打包工具pyinstaller 界面tkinter ============================================= ...
- python数据包之利器scapy用法!
scapy介绍: 在python中可以通过scapy这个库轻松实现构造数据包.发送数据包.分析数据包,为网络编程之利器! scapy安装: pip install scapy ======> ...
- python解析pcap文件中的http数据包
使用scapy.scapy_http就可以方便的对pcap包中的http数据包进行解析 scapy_http可以在https://github.com/invernizzi/scapy-http下载, ...
- 使用Python的pandas-datareader包下载雅虎财经股价数据
0 准备工作 首先,使用pip方法安装pandas和pandas-datareader两个功能包. 安装的方法十分简单,以管理员身份运行cmd. 输入以下命令. $ pip install panda ...
- python+fiddler 抓取抖音数据包并下载抖音视频
这个我们要下载视频,那么肯定首先去找抖音视频的url地址,那么这个地址肯定在json格式的数据包中,所以我们就去专门查看json格式数据包 这个怎么找我就不用了,直接看结果吧 你找json包,可以选大 ...
- python网络编程-socket发送大数据包问题
一:什么是socket大数据包发送问题 socket服务器端或者客户端在向对方发送的数据大于对方接受的缓存时,会出现第二次接受还接到上次命令发送的结果.这就出现象第一次接受结果不全,第二次接果出现第一 ...
- IM通信协议逆向分析、Wireshark自定义数据包格式解析插件编程学习
相关学习资料 http://hi.baidu.com/hucyuansheng/item/bf2bfddefd1ee70ad68ed04d http://en.wikipedia.org/wiki/I ...
随机推荐
- js用正则表达式查找中文
var content = "awfjawf测试wfewef"; var ret = /\p{Unified_Ideograph}+/u.exec(content);
- DJANGO-天天生鲜项目从0到1-004-用户模块-个人中心页
本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...
- 使用 flask 构建我的 wooyun 漏洞知识库
前言 最近在学 flask,一段时间没看,又忘得差不多了,于是弄这个来巩固一下基础知识 漏洞总共包括了 88820 个, Drops 文章总共有 1235 篇,全来自公开数据,在 Github 上收集 ...
- springboot(九)文件上传
在企业级项目开发过程中,上传文件是最常用到的功能.SpringBoot集成了SpringMVC,当然上传文件的方式跟SpringMVC没有什么出入.下面我们来创建一个SpringBoot项目完成单个. ...
- ~~并发编程(十一):GIL全局解释锁~~
进击のpython ***** 并发编程--GIL全局解释锁 这小节就是有些"大神"批判python语言不完美之处的开始 这一节我们要了解一下Cpython的GIL解释器锁的工作机 ...
- hostapd阅读(openwrt)-1
好久没有来博客园写点东西了,这段时间主要搞了openwrt系统的移植,无线的校验等相关工作,鉴于我是一个懒惰的大龄菜鸟程序员,就先自我原谅自己了,好了废话少说,直奔主题--hostapd. 由于我主要 ...
- python socket函数详解
关于socket函数,每个的意义和基本功能都知道,但每次使用都会去百度,参数到底是什么,返回值代表什么意义,就是说用的少,也记得不够精确.每次都查半天,经常烦恼于此.索性都弄得清楚.通透,并记录下来, ...
- Ansible部署zabbix-agent
playbook目录 zabbix/ ├── hosts ##定义的主机列表 ├── install_zabbix_agent.yml ##安装入口文件 └── roles ├── install_z ...
- ./a.o 权限不够
其实如果是-c -o 分开写的,那个不会出现的 如果是一起写的 请加上 chmod +x ./a.o
- FPAG_Microblaze_PWM_定时器
由于Xilinx底层库的定时器没有PWM例程,调试过程中费了不少劲.生产PWM需要两个定时器同时工作,一个控制频率,一个控制占空比,位数可通过硬件设置. #include "xtmrctr_ ...