目录一、进程间通讯二、队列2.1概念介绍---multiprocessing.Queue2.2方法介绍2.3其他方法(了解)三、Queue队列-实例演示3.1但看队列用法3.2子进程发送数据给父进程四、生产者消费者模型4.1为什么要使用生产者和消费者模式4.2什么是生产者消费者模式4.3基于队列实现生产者消费者模型五、JoinableQueue队列5.1JoinableQueue的使用5.2通过JoinableQueue队列实现生产者消费者模型一、进程间通
系统 2019-09-27 17:54:57 2382
安装环境及说明操作系统:64位win7以下所有安装包已经被我打包至网盘,请移步到http://www.colafile.com/file/4591550进行下载因为在64位win7下面安装64位python2.7会导致后续很多蛋疼的问题,故本教程全部安装32位python2.7及其对应套件python2.7安装安装包名称:python-2.7.9.msi1.双击以上安装包安装时要注意一个选项,如图所示这个选项是将python添加到默认路径当中的,这样在cm
系统 2019-09-27 17:52:03 2382
最近工作上有个需求,当爬虫程序遇到异常的时候,需要通知相应的人员进行修复。如果是国外可能是通过邮件的方式来通知,但国内除了万年不变的qq邮箱,大部分人都不会去再申请其他的账号,qq邮箱也是闲的蛋疼的时候才会瞄一眼。你还记得上次看邮箱的内容是什么时候吗?所以在国内最好的通知方式是通过手机短信,今天就教大家利用python10行代码实现短信发送。Twilio短信代理服务已经有非常多成熟的方案,比如国内的阿里云。这次我介绍的是国外的一个代理商「Twilio」,使
系统 2019-09-27 17:50:28 2382
4.希尔排序(缩小增量排序)4.1算法思想希尔排序是插入排序的一种优化,又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。先取一个正整数d1该方法实质上是一种分组插入方法。4.2算法分析希尔排序的时间复杂度与增量序列的选取有关,例如希尔增量时间复杂度为O(n²),而Hibbard增
系统 2019-09-27 17:49:38 2382
详细版本见个人博客:Python用list实现堆栈和队列Python中可以用list来模拟栈和队列:栈(stack):只能在一端进行数据操作,遵循后进先出(LIFO)原则队列(queue):可以在两端进行数据操作,遵循先进先出(FIFO)原则,出队列的一端称为队首,入队列的一端称为队尾一、栈1、栈要记录的数据栈顶位置top:注意这个top有两种理解方式,一种是表示栈的最后一个数据的位置,另一种是表示栈的最后一个数据的下一个位置,这两种理解对栈的操作代码有一
系统 2019-09-27 17:49:20 2382
python提供了一个struct模块来提供转换。下面就介绍这个模块中的几个方法。struct.pack():struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节(Byte)类型,可以把这里的字符串理解为字节流,或字节数组)。其函数原型为:struct.pack(fmt,v1,v2,...),参数fmt是格式字符串,关于格式字符串的相关信息下面有所介绍。v1,v2,...表示要转换的python值。下面的例子将两
系统 2019-09-27 17:48:29 2382
Pythonapply函数1、介绍apply函数是pandas里面所有函数中自由度最高的函数。该函数如下:DataFrame.apply(func,axis=0,broadcast=False,raw=False,reduce=None,args=(),**kwds)该函数最有用的是第一个参数,这个参数是函数,相当于C/C++的函数指针。这个函数需要自己实现,函数的传入参数根据axis来定,比如axis=1,就会把一行数据作为Series的数据结构传入给自
系统 2019-09-27 17:47:17 2382
在编写markdown时,经常出现很小的图片被放得很大,为了解决这个问题,让视觉上变得好看点,决定编写一个压缩图片的AlfredWorkflow。文章目录一、Python程序的编写二、新建AlfredWorkflow三、使用一、Python程序的编写在Mac上获取剪贴板的图片可查看这里:mac上Python读写剪贴板图片、文字。编写好的代码如下:#coding=utf-8importosimportiofromPILimportImage,ImageGra
系统 2019-09-27 17:46:10 2382
方法一Python读取文件针对小文件可行,大文件效率和性能都很差。以下是几种写法defget_count(file_abs_name):""":param:file_abs_name文件名含绝对路径"""withopen(file_abs_name,'r')asf:cnt=len(f.readlines)f.flush()returncntdefget_count(file_abs_name):""":param:file_abs_name文件名含绝对路径
系统 2019-09-27 17:46:00 2382
一、logging模块讲解1.函数:logging.basicConfig()参数讲解:(1)level代表高于或者等于这个值时,那么我们才会记录这条日志(2)filename代表日志会写在这个文件之中,如果没有这个字段则会显示在控制台上(3)format代表我们的日志显示的格式自定义,如果字段为空,那么默认格式为:level:log_name:contentimportloggingLOG_FORMAT="%(asctime)s======%(level
系统 2019-09-27 17:45:46 2382