深入理解pythontry异常处理机制#python的try语句有两种风格#一:种是处理异常(try/except/else)#二:种是无论是否发生异常都将执行最后的代码(try/finally)try/except/else风格try:<语句>#运行别的代码except<名字>:<语句>#如果在try部份引发了'name'异常except<名字>,<数据>:<语句>#如果引发了'name'异常,获得附加的数据else:<语句>#如果没有异常发生#try的
系统 2019-09-27 17:38:34 1767
利用Python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定义smtp服务器mail_to
系统 2019-09-27 17:38:23 1767
1lambda函数函数格式是lambdakeys:express匿名函数lambda是一个表达式函数,接受keys参数,返回表达式的值。所以不用return,也没有函数名,经常用在需要key参数的函数中,比如sorted。2元组(),它是以逗号辨别的,而不是小括号。比如一个元素的元组新手经常写成(12),其实他会被解释成单个元素12.正确的写法应该是(12,),在元素后面加上逗号。3模块导入。比如importrandomprintrandom.choice
系统 2019-09-27 17:38:19 1767
哦,这就是真正牛X的程序员。不过,他也仅仅是牛X罢了,还不是大神。大神程序员是什么样儿呢?他是扫地僧,大隐隐于市。先搞清楚这些名词再说别的:循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。遍历(traversal),指的是按照一定的规则
系统 2019-09-27 17:38:16 1767
前言流量信息可以直接在/proc/net/dev中进行查看,笔者实现的程序使用命令:pythonnet.pyinterface其中interface为网卡名称,使用什么网卡,电脑有哪些网卡,可以使用sudoifconfig进行查看。Python实现的程序如下:#coding:utf-8importsys,time,os'''Inter-|Receive|Transmitface|bytespacketserrsdropfifoframecompressed
系统 2019-09-27 17:38:09 1767
Python标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节描述的并不清楚,比如urllib2这个HTTP客户端库。这里总结了一些urllib2的使用细节。Proxy的设置Timeout设置在HTTPRequest中加入特定的HeaderRedirectCookie使用HTTP的PUT和DELETE方法得到HTTP的返回码DebugLogProxy的设置urllib2默认会使用环境变量http_proxy来设置HTTPProxy。如果想
系统 2019-09-27 17:37:51 1767
主要使用json模块,直接导入importjson即可。小例子如下:#coding=UTF-8importjsoninfo={}info["code"]=1info["id"]=1900info["name"]='张三'info["sex"]='男'list=[info,info,info]data={}data["code"]=1data["id"]=1900data["name"]='张三'data["sex"]='男'data["info"]=inf
系统 2019-09-27 17:37:45 1767
示例函数为了开发类型检查器,我们需要一个简单的函数对其进行实验。欧几里得算法就是一个完美的例子:defgcd(a,b):'''Returnthegreatestcommondivisorofaandb.'''a=abs(a)b=abs(b)ifa
系统 2019-09-27 17:37:39 1767
下面还是简要的介绍一下Clover在JUnit中的使用(构建工具为Ant):1.在使用Clover做测试覆盖率分析之前请确保您的代码及测试代码无误。2.如果采用Ant作为构建工具,则将clover.jar放入Ant的classpath下。也可采用另一种方法,可先将clover.jar及Clover中的另一个jar包cenquatasks.jar放入项目的lib下,采用cenquatasks.jar中的extendclasspath方法将clover.jar
系统 2019-08-29 23:33:06 1767
工厂方法(FactoryMethod)定义一个用于创建对象的接口,让子类决定实例哪一个类。工厂方法使一个类的实例化延迟到其子类。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做。这个核心工厂则变为抽象工厂角色,仅负责给出工厂子类必须实现的接口,而不接触哪一产品创建的细节。工厂方法模式可以用来允许系统不修改具体工厂角色的情况下引进新产品在工厂方法模式中,一般都有一个平行的等级结构,抽象工厂对应抽象产品,具体工厂对应具体产
系统 2019-08-29 23:25:22 1767