随笔分类 -  python笔记

摘要:Python提供的Condition对象提供了对复杂线程同步问题的支持。Condition被称为条件变量,除了提供与Lock类似的acquire和release方法外,还提供了wait和notify方法。 使用Condition的主要方式为:线程首先acquire一个条件变量,然后判断一些条件。如果 阅读全文
posted @ 2016-08-01 16:20 夏日花开 阅读(583) 评论(0) 推荐(0) 编辑
摘要:多线程模块的同步机制event对象 线程的核心特征就是他们能够以非确定的方式(即何时开始执行,何时被打断,何时恢复完全由操作系统来调度管理,这是用户和程序员无法确定的)独立执行的,如果程序中有其他线程需要判断某个线程是否已经到达执行过程中的某个点,根据这个判断来执行后续的操作,那么这就产生了非常棘手 阅读全文
posted @ 2016-08-01 15:48 夏日花开 阅读(391) 评论(0) 推荐(0) 编辑
摘要:python的多线程编程 简介 多线程编程技术可以实现代码并行性,优化处理能力,同时功能的更小划分可以使代码的可重用性更好。Python中threading和Queue模块可以用来实现多线程编程。 详解 线程和进程 进程(有时被称为重量级进程)是程序的一次执行。每个进程都有自己的地址空间、内存、数据 阅读全文
posted @ 2016-08-01 10:44 夏日花开 阅读(2136) 评论(0) 推荐(0) 编辑
摘要:利用commands模块执行shell命令 用Python写运维脚本时,经常需要执行linux shell的命令,Python中的commands模块专门用于调用Linux shell命令,并返回状态和结果,下面是commands模块的3个主要函数: 1. commands.getoutput('s 阅读全文
posted @ 2016-07-30 17:14 夏日花开 阅读(6458) 评论(0) 推荐(0) 编辑
摘要:Sys 模块 一,导入sys模块操作 二,sys模块重要函数变量 1)sys.argv命令行的参数,包括脚本的名称 2)sys.path查找模块所在目录的目录名列表 3)sys.platform返回当前系统平台的,如win32,linux。 比如向实现清除终端,linux下用clear,window 阅读全文
posted @ 2016-07-26 17:19 夏日花开 阅读(134) 评论(0) 推荐(0) 编辑
摘要:Select,poll,epoll复用 1)select模块以列表的形式接受四个参数,分别是可读对象,可写对象,产生异常的对象,和超时设置。当监控符对象发生变化时,select会返回发生变化的对象列表。 eadable有3种可能:对于用来侦听连接主服务器socket,表示已准备好接受一个到来的连接; 阅读全文
posted @ 2016-07-26 17:14 夏日花开 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Urllib模块 POST方法 阅读全文
posted @ 2016-07-26 17:12 夏日花开 阅读(131) 评论(0) 推荐(0) 编辑
摘要:多线程模块 Python的多线程模块有两种实现方法 函数,线程类 一【函数】 调用thread模块中的start_new_thread()函数来创建线程,以线程函数的形式告诉线程该做什么 二【线程类】 调用threading模块,创建threading.Thread的子类来得到自定义线程类 thre 阅读全文
posted @ 2016-07-26 17:07 夏日花开 阅读(190) 评论(0) 推荐(0) 编辑
摘要:、先说一下什么是pip pip 是“A tool for installing and managing Python packages.”,也就是说pip是python的软件安装工具 2、下面介绍怎么在linux下安装pip 下载pip到/usr/local/src 如果提示: bash: wge 阅读全文
posted @ 2016-07-26 17:04 夏日花开 阅读(145) 评论(0) 推荐(0) 编辑
摘要:ftplib模块 一ftp的登录连接‘ From ftplib import FTP ftp=FTP() ftp.set_debuglevel(2) :打开调试级别2,显示详细信息 Ftp.connect(“IP”,”port”):连接的ftp server 和端口 ftp.login(“usern 阅读全文
posted @ 2016-07-26 17:01 夏日花开 阅读(328) 评论(0) 推荐(0) 编辑
摘要:网络编程一 1)打印设备名和IPV4地址 2)通过端口和协议找到服务名 3)设定并获取套接字的时间 4)修改套接字和接受缓冲区的大小 5)把套接字改成阻塞或阻塞模式 可以通过函数setblocking()函数来实现,setblocking(0)表示设为非阻塞模式 6)重用套接字 可以用函数setso 阅读全文
posted @ 2016-07-26 16:59 夏日花开 阅读(159) 评论(0) 推荐(0) 编辑
摘要:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 阅读全文
posted @ 2016-07-26 16:57 夏日花开 阅读(166) 评论(0) 推荐(0) 编辑
摘要:装饰器 【解释】 装饰器实质是一个函数,它把一个函数作为为已经输入并且返回另外一个函数,在装饰器中通常使用下面的技巧: args 和 kwargs 闭包 作为参数的函数 下面定义一个装饰器document_it,实现如下功能: 打印输出函数的名字和参数的值; 执行含有参数的函数; 打印输出结果; 返 阅读全文
posted @ 2016-07-25 18:07 夏日花开 阅读(90) 评论(0) 推荐(0) 编辑
摘要:异常 一,【异常】 Try/expect 捕捉由python或你引发的异常并恢复 Try/finally 无论异常是否发生,执行清理行为 Raise 手动在代码中触发异常 Assert 有条件地在程序代码中触发异常 二【异常类型】 AssertionError assert语句失败 Attribut 阅读全文
posted @ 2016-07-25 18:03 夏日花开 阅读(177) 评论(0) 推荐(0) 编辑
摘要:正则表达式 使用正则表达式匹配;与之相关的功能位于标准库模块re. 简单示例: 【匹配方法】 1)search() 会返回第一次成功匹配,如果存在的话 2)findall() 会返回所有成功的匹配,如果存在的话 3)Split() 会根据pattern将源切分成若干段,返回由这些片段组成的列表 4) 阅读全文
posted @ 2016-07-25 17:59 夏日花开 阅读(156) 评论(0) 推荐(0) 编辑
摘要:文件和目录的相关操作 1)用open()来创建文件 下面来创建一个oops.txt的文本文件 下面用这个文件来做一些测试: 用exists()检查文件是否存在 判断文件或目录是否存在,可使用exists(),传入相对或绝对路经名 用isfile()检查文件是否为文件 检查是否为文件‘ 用copy() 阅读全文
posted @ 2016-07-25 17:39 夏日花开 阅读(147) 评论(0) 推荐(0) 编辑
摘要:文件的输入输出: fileobj=open(filename,mode) Moded的第一个子母表示对其的操作: r 读模式 w 写模式,如果文件不存在的话,则创建,如果存在则重新写新内容 X 如果文件不存在的情况下,新创建并写文件 a 如果文件存在,则在末尾添加内容 Mode的第二个字母表示的是文 阅读全文
posted @ 2016-07-25 17:37 夏日花开 阅读(199) 评论(0) 推荐(0) 编辑
摘要:生成器 【生成器】 生成器是用来创建python序列的一个对象,使用它可以迭代庞大的序。通常,生成器是为迭代器产生数据的。 生成器概念: 生成器不会把结果保存到一个系列中,而是保存生成器的状态,在每次进行迭代的时计算并返回一个值,值遇到StopIteration异常就结束 生成器表达器表达式: 与列 阅读全文
posted @ 2016-07-25 17:34 夏日花开 阅读(112) 评论(0) 推荐(0) 编辑
摘要:日期和时间 【Datetime模块】定义了4个主要的对象 date处理年月日 time 处理时,分,秒和分数 Datetime 处理日期和时间同时出现的情况 Timedelta 处理日期/或时间间隔 你可以指定年,月,日,来创建一个date对象,这些值以后会变成对象的属性 Datetime有一个no 阅读全文
posted @ 2016-07-25 17:23 夏日花开 阅读(230) 评论(0) 推荐(0) 编辑
摘要:列表 1)创建列表 2)使用list()将其他类型转换成列表 3)使用[offsset]来获取元素 4)包含列表的列表 5)使用【offset】修改列表 6)指定范围并使用切片提取元素 7)使用append()添加元素至尾部 9)使用insert()在指定位置插入元素 10)使用del删除指定位置的 阅读全文
posted @ 2016-07-25 17:21 夏日花开 阅读(88) 评论(0) 推荐(0) 编辑