摘要: 装饰器 【解释】 装饰器实质是一个函数,它把一个函数作为为已经输入并且返回另外一个函数,在装饰器中通常使用下面的技巧: args 和 kwargs 闭包 作为参数的函数 下面定义一个装饰器document_it,实现如下功能: 打印输出函数的名字和参数的值; 执行含有参数的函数; 打印输出结果; 返 阅读全文
posted @ 2016-07-25 18:07 夏日花开 阅读(99) 评论(0) 推荐(0)
摘要: 异常 一,【异常】 Try/expect 捕捉由python或你引发的异常并恢复 Try/finally 无论异常是否发生,执行清理行为 Raise 手动在代码中触发异常 Assert 有条件地在程序代码中触发异常 二【异常类型】 AssertionError assert语句失败 Attribut 阅读全文
posted @ 2016-07-25 18:03 夏日花开 阅读(183) 评论(0) 推荐(0)
摘要: 正则表达式 使用正则表达式匹配;与之相关的功能位于标准库模块re. 简单示例: 【匹配方法】 1)search() 会返回第一次成功匹配,如果存在的话 2)findall() 会返回所有成功的匹配,如果存在的话 3)Split() 会根据pattern将源切分成若干段,返回由这些片段组成的列表 4) 阅读全文
posted @ 2016-07-25 17:59 夏日花开 阅读(160) 评论(0) 推荐(0)
摘要: 文件和目录的相关操作 1)用open()来创建文件 下面来创建一个oops.txt的文本文件 下面用这个文件来做一些测试: 用exists()检查文件是否存在 判断文件或目录是否存在,可使用exists(),传入相对或绝对路经名 用isfile()检查文件是否为文件 检查是否为文件‘ 用copy() 阅读全文
posted @ 2016-07-25 17:39 夏日花开 阅读(153) 评论(0) 推荐(0)
摘要: 文件的输入输出: fileobj=open(filename,mode) Moded的第一个子母表示对其的操作: r 读模式 w 写模式,如果文件不存在的话,则创建,如果存在则重新写新内容 X 如果文件不存在的情况下,新创建并写文件 a 如果文件存在,则在末尾添加内容 Mode的第二个字母表示的是文 阅读全文
posted @ 2016-07-25 17:37 夏日花开 阅读(210) 评论(0) 推荐(0)
摘要: 生成器 【生成器】 生成器是用来创建python序列的一个对象,使用它可以迭代庞大的序。通常,生成器是为迭代器产生数据的。 生成器概念: 生成器不会把结果保存到一个系列中,而是保存生成器的状态,在每次进行迭代的时计算并返回一个值,值遇到StopIteration异常就结束 生成器表达器表达式: 与列 阅读全文
posted @ 2016-07-25 17:34 夏日花开 阅读(127) 评论(0) 推荐(0)
摘要: 日期和时间 【Datetime模块】定义了4个主要的对象 date处理年月日 time 处理时,分,秒和分数 Datetime 处理日期和时间同时出现的情况 Timedelta 处理日期/或时间间隔 你可以指定年,月,日,来创建一个date对象,这些值以后会变成对象的属性 Datetime有一个no 阅读全文
posted @ 2016-07-25 17:23 夏日花开 阅读(236) 评论(0) 推荐(0)
摘要: 列表 1)创建列表 2)使用list()将其他类型转换成列表 3)使用[offsset]来获取元素 4)包含列表的列表 5)使用【offset】修改列表 6)指定范围并使用切片提取元素 7)使用append()添加元素至尾部 9)使用insert()在指定位置插入元素 10)使用del删除指定位置的 阅读全文
posted @ 2016-07-25 17:21 夏日花开 阅读(99) 评论(0) 推荐(0)
摘要: 类 介绍类首先看一个小例子 运行结果会出现报错 改一下程序,再看一下变化 这就是self的作用: 类方法(也就是类的函数)与普通的函数的区别在于他们必须有一个额外的参数的名称,但是再调用这个类的时候,不为这个参数赋值。 定义类的私有属性】 在函数前面加两个__(下划线) 如果你想定义一个函数,不想让 阅读全文
posted @ 2016-07-25 17:18 夏日花开 阅读(105) 评论(0) 推荐(0)
摘要: 深拷贝和浅拷贝 用一个简单的例子说明如下: 很容易理解:a是一个列表,表内元素a[4]也是一个列表(也就是一个内部子对象);b是对a列表的又一个引用,所以a、b是完全相同的,可以通过id(a)==id(b)证明。 第4行是浅拷贝,第五行是深拷贝,通过id(c)和id(d)可以发现他们不相同,且与id 阅读全文
posted @ 2016-07-25 17:13 夏日花开 阅读(121) 评论(0) 推荐(0)
摘要: 改变多行文本字符串的缩进 任务:有个包含多行文本的字符串,需要创建该字符串的一个拷贝,并在每行行首添加或者删除一些空格,以保证每行的缩进都是指定数目的空格 输出结果: 字符串对象已经提供了趁手的工具,写个简单的函数即可: 一个常建的需求是调整每行行首的空格数,并确保整块文本的行之间的相对缩进不发生变 阅读全文
posted @ 2016-07-25 17:07 夏日花开 阅读(974) 评论(0) 推荐(0)
摘要: 多进程 multiprocessing From multiprocessint import Process 可以通过Process来构造一个子进程, P=Process(target=fun,args=(args)) 再通过p.start()来启动子进程 再通过p.join()方法来使的子进程运 阅读全文
posted @ 2016-07-25 16:51 夏日花开 阅读(144) 评论(0) 推荐(0)
摘要: 函数 定义函数 为了定义python函数,你可以依次输入def,函数名,带有函数参数的圆括号,最后紧跟一个冒号(:) 现在定义一个无参数,但打印除一个单词的函数: 在函数中引入参数,定义带有一个anything参数的函数echo(),它使用return 语句将anything返回给它的调用者两次,并 阅读全文
posted @ 2016-07-25 16:20 夏日花开 阅读(302) 评论(0) 推荐(0)
摘要: 对网页的相应操作 登录到163网站,保存下来首页 阅读全文
posted @ 2016-07-25 16:07 夏日花开 阅读(90) 评论(0) 推荐(0)
摘要: socket原理 【Socket服务器工作的流程:】 打开socket; 绑定到一个地址,端口; 侦听进来的连接; 接收连接; 读写数据; 下面详细介绍python编写server端的步骤: 1. 第一步是创建socket对象。调用socket构造函数。如: socket = socket.sock 阅读全文
posted @ 2016-07-25 16:06 夏日花开 阅读(186) 评论(0) 推荐(0)
摘要: SocketServer模块 使用socketserver框架编写TCP服务器 使用服务器编程,需要进行一下步骤,先建立一个请求句柄类,这个类继承自BaseRequestHandler类,建立这个类以后重写他的handle方法,然后然后实例化服务器类,把主机名,端口号和句柄类传给它,然后调用serv 阅读全文
posted @ 2016-07-25 16:02 夏日花开 阅读(130) 评论(0) 推荐(0)
摘要: python的struct模块 struct.pack Struct.pack用于将python的值根据格式符,转换为字符串(因为python中没有字节类型,可以把这里的字符串理解为字节流,或者字节数组)其函数原型为:struct.pack(fmt, v1, v2, ...),参数fmt是格式字符串 阅读全文
posted @ 2016-07-25 15:55 夏日花开 阅读(603) 评论(0) 推荐(0)
摘要: python的标准库 使用setdefault()和defaultdict()处理缺失的健 读取字典中不存在的健的值就会发生异常,使用字典函数get()返回一个默认值会避免异常发生,函数setdefault()类似get(),但当健不存在的时候它会在字典中添加一项 如果试图把一个不同的默认值赋值给已 阅读全文
posted @ 2016-07-25 15:50 夏日花开 阅读(177) 评论(0) 推荐(0)
摘要: Pickle和JSON的序列化 Python的pickle模块允许我们把对象只节存储成一个特殊的存储格式,它本质上是把一个对象转换成一种可以存储到文件或者类文件对象或者一个字节字符串的格式; Dump方法接收一个被写入的对象以及一个要写入序列化的类文件对象作为参数,这个对象必须有一个write方法, 阅读全文
posted @ 2016-07-25 15:37 夏日花开 阅读(232) 评论(0) 推荐(0)
摘要: python的内建函数chr,ord,unichr chr()函数用一个范围在range(256)内的(就是0~255)整数作参数,返回一个对应的字符。unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何 阅读全文
posted @ 2016-07-25 15:32 夏日花开 阅读(358) 评论(0) 推荐(0)
摘要: pamamiko的学习笔记 Paramiko包含两个核心组件,一个为SSHClient类,另一个为SFTPClient类, 一,paramiko的连接有两种方式,一种是通过paramiko.SSHClient()函数,另外一种是通过paramiko.Transport()函数 【SSHClient类 阅读全文
posted @ 2016-07-25 15:27 夏日花开 阅读(178) 评论(0) 推荐(0)
摘要: pamiko的安装 Paramiko的安装依赖第三方的crypto,ecdsa,及python开发包的python devel的支持,源码包安装如下 安装 安装paramiko有两个先决条件,python和另外一个名为PyCrypto的模块。 通常安装标准的python模块,只需要在模块的根目录下运 阅读全文
posted @ 2016-07-25 15:15 夏日花开 阅读(206) 评论(0) 推荐(0)
摘要: for迭代 Python中最简单的循环机制是 while,打开交互式解释器,执行1到的5的循环 使用continue跳出循环开始` 有时我们不想结束整个循环,仅仅向跳到下一轮循环的开始,下面一个例子,读入一个整数,如果它是奇数则输出他的平方数,如果是偶数则跳过,使用q来退出循环; 列表,字符串,元祖 阅读全文
posted @ 2016-07-25 15:12 夏日花开 阅读(178) 评论(0) 推荐(0)
摘要: python的内存管理机制 先从较浅的层面来说,Python的内存管理机制可以从三个方面来讲 (1)垃圾回收 (2)引用计数 (3)内存池机制 垃圾回收 python不像C++,Java等语言一样,他们可以不用事先声明变量类型而直接对变量进行赋值。对Python语言来讲,对象的类型和内存都是在运行时 阅读全文
posted @ 2016-07-25 14:45 夏日花开 阅读(174) 评论(0) 推荐(0)
摘要: hadoop大数据处理一 海量日志数据,提取出某日访问百度次数最多的那个IP。 首 先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法, 比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现 阅读全文
posted @ 2016-07-25 14:29 夏日花开 阅读(180) 评论(0) 推荐(0)
摘要: 大数据处理 一、Bloom filter 适用范围:可以用来实现数据字典,进行数据的判重,或者集合求交集 基本原理及要点: 对于原理来说很简单,位数组+k个独立hash函数。将 hash函数对应的值的位数组置1,查找时如果发现所有hash函数对应位都是1说明存在,很明显这个过程并不保证查找的结果是1 阅读全文
posted @ 2016-07-25 14:19 夏日花开 阅读(178) 评论(0) 推荐(0)
摘要: hadoop简介 hadoop运行的原理 Hadoop主要有三个方面组成:HAFS,mapreduce,Hbase 最核心的设计是mapreduce. maprudece原理: 一个mapreduce作业通常有把输入的数据集切成若干独立的数据快,由map任务以完全并行的方式处理他们。框架会对map的 阅读全文
posted @ 2016-07-25 14:16 夏日花开 阅读(447) 评论(0) 推荐(0)
摘要: 脚本变量的练习 1)统计你的计算机相关信息,包括系统当前时间,主机名,所使用的操作系统,计算机的硬件架构,内核版本 root@wish1 406] cat b.sh !/bin/bash echo e "\e[1;31m 关于计算机的信息\e[0m" TIME= VERSION= OS= HOST= 阅读全文
posted @ 2016-07-25 12:05 夏日花开 阅读(123) 评论(0) 推荐(0)
摘要: 数组 提示:使用array=(1,2,3)的形式覆盖数组元素的值会清除数组的全部元素的值,即使没有明显的覆盖 2)当引用数组元素的值的时候,如果没有提添加花括号,如$user[3],得到的将是数组的第一个元素的值后面在加上[3].因为shell在遇到$以后,会寻找后面的变量名,一旦找到了变量名use 阅读全文
posted @ 2016-07-25 11:41 夏日花开 阅读(116) 评论(0) 推荐(0)
摘要: 脚本颜色的设置 重置为0,红色为31,黑色为30,绿色为32,黄色为33,蓝色34,白色37,青色36 echo e “\e [1;31m this is red \e[0m” 设置彩色背景 重置为0,黑色为40,红色位为41,绿色为42,黄色为43,蓝色为44,青色为46 阅读全文
posted @ 2016-07-25 11:37 夏日花开 阅读(261) 评论(0) 推荐(0)
摘要: 数据库的存储过程 存储过程是一组为了完成特定功能的SQL语句集经编译后存储在数据库中。 存储过程是数据库中的一个重要的对象,用户通过指定存储过程的名字并给出参数来执行它, 优点: 1)执行速度快,在数据库中保存的存储过程语句都是编译过的 2)防止SQL注入 3)可保证数据的完整性和安全性 通过存储过 阅读全文
posted @ 2016-07-25 10:16 夏日花开 阅读(249) 评论(0) 推荐(0)
摘要: sql注入 正文 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令。 具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一 阅读全文
posted @ 2016-07-25 10:05 夏日花开 阅读(115) 评论(0) 推荐(0)