Python模块:requests
一、初识 Requests 库 Requests 是用 Python 语言编写,基于urllib,采用 Apache 2 协议开源的 Python HTTP 库,号称是“为人类准备的 HTTP 库”。它比 urllib 更加方便,可以节约我们大量的工作,完全满足 HTTP 测试需求。 Python 中,系统自带的 urllib 和 urllib2 都提供了功……
Python面向对象:定制类(魔术方法)
在Python中,看见形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的,称之为专有方法或魔术方法。比如__len__()方法我们也知道是为了能让class作用于len()函数。这种特殊用途的函数在Python中有很多,可以帮助我们用来定制类。 __add__ 来看下面这个例子,做一个简单的复数加法运算: ……
Python面向对象:上下文管理器
一、上下文管理器 在使用Python编程中,可以会经常碰到这种情况:有一个特殊的语句块,在执行这个语句块之前需要先执行一些准备动作;当语句块执行完成后,需要继续执行一些收尾动作。 例如:当需要操作文件或数据库的时候,首先需要获取文件句柄或者数据库连接对象,当执行完相应的操作后,需要执行释放文件句柄或者关闭数据库连接的动作。又如,当多线程程序需要访问临界资源的……
Python模块:re
一、Python正则表达式re模块简介 正则表达式,是一门相对通用的语言。简单说就是:用一系列的规则语法,去匹配,查找,替换等操作字符串,以达到对应的目的;此套规则,就是所谓的正则表达式。各个语言都有各自正则表达式的内置模块,包括Linux系统中sed、awk也都是使用正则表达式。当然Python中也有对正则表达式的支持,对应的就是Python内置的re模块……
Python把MySQL查询转为Insert语句
下面贴出利用Python把MySQL查询结果转换为Insert语句,当然你使用一些客户端工具更方便了。但是有些需求没法使用工具搞了,比如我要把查询结果立马插入到另一个数据库中,并且查询结果中有些信息需要变更处理,这种使用脚本就很快了。 #!/usr/bin/env python # encoding: utf-8 # ……
Python利用sorted进行字典排序
一、排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行排序: >>&……
Python面向对象:类继承之super函数
一、类多重继承 Python是支持类中多重继承的,概念虽然容易,但是困难的工作是如果子类调用一个自身没有定义的属性,它是按照何种顺序去到父类寻找呢,尤其是众多父类中有多个都包含该同名属性。 我们知道Python的类分为经典类与新式类。Python2.7之前的版本中可以采用经典类,经典类继承父类的顺序采用深度优先算法,但在Python3之后的版本就只承认新式类……
Python语法练习(解决各种小问题)
下面练习练习Python语法,做几个小功能。 1. 合并Nginx访问日志IP,根据访问次数降序 模拟的日志IP(实际中只需要处理一下原始日志) $ cat access.log 10.10.0.1 10.10.0.2 10.10.0.1 10.10.0.2 10.10.0.3 10.10.0.1 10.10.0.……
Python面向对象:继承与多态
一、继承与多态 在面向对象(OOP)程序设计中,当我们定义一个类的时候,可以从某个现有的类继承,新的类称为子类(Subclass),而被继承的类称为基类、父类或超类(Base class、Super class)。类中继承就是子类获得父类的一些方法和属性(类属性、实例属性、类方法、实例方法、静态方法),这里使用一些也就是说有些是子类继承不到的,比如私有属性。……
Python模块:signal
一、信号的概念 信号(signal)– 进程之间通讯的方式,是一种软件中断。一个进程一旦接收到信号就会打断原来的程序执行流程来处理信号。 在Linux下可以通过kill -l来查看所有的信息: $ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4)……
Python模块:collections
Python作为一个“内置电池”的编程语言,标准库里面拥有非常多好用的模块,用好了能省去很多自造轮子。我们都知道,Python拥有一些内置的数据类型,比如str, int, list, tuple, dict等,而collections模块在这些内置数据类型的基础上,提供了几个额外的数据类型: namedtuple:生成可以使用名字来访问元素内容的tupl……
Python字符串操作方法
一、字符串操作 常用的 Python 字符串操作包括索引、分片、替换、删除、截取、复制、连接、比较、查找、分割等。另外 Python 2 字符串不支持国际编码,其大小为 8 bit,要想支持国际编码,需使用方法 u”content”。而在 Python 3 中默认已经支持国际编码了,不在需要使用 u 可以自动识别,其大小为 16 bit。 索引运算:key……