在Python探索之SocketServer详解中我们介绍了Python标准库中的SocketServer模块,了解了要实现网络通信服务,就要构建一个服务器类和请求处理类。同时,该模块还为我们创建了不同的服务器类和请求处理类。1.服务器类BaseServerTCPServer(BaseServer)UDPServer(TCPServer)UnixStreamServerUnixDatagramServer2.请求处理类BaseRequestHandlerS
系统 2019-09-27 17:53:33 2489
今天群里有个伙计问,怎么用python统计Nginx日志访问次数前十的IP才能快一些,他表示自己使用的方式是将日志前面的IP全部放在列表中,然后通过列表的count方法来统计的,起初都还好,但是当日志量一大就很慢,问有没有啥好的方法可以解决!当然有,可以使用python的字典来加快速度,下面的日志文件是我用代码模拟生成的:#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2019/5/2210:27#@Author
系统 2019-09-27 17:52:27 2489
无论是平均平滑还是高斯平滑,在处理图像噪声时,都或多或少会对图片产生一定的模糊,损失部分信息。较为理想的情况,是可以选择性地进行滤波,只在噪声区域进行平滑,而在无噪声区域不进行平滑,将模糊的影响降到最低,这就是自适应性滤波的思想。通常噪声的存在,可能会使得附近邻域内,极值的上下差距较大,或者是方差较大,我们可以设置一定的阈值来判断该点是否需要进行平滑。不过这个不是该章节的内容,这一章是要学习中值滤波,中值滤波本质上是一个统计排序滤波器,是以该点为中心的的邻
系统 2019-09-27 17:48:39 2489
什么是异步?含义:双方不需要共同的时钟,也就是接收方不知道发送方什么时候发送,所以在发送的信息中就要有提示接收方开始接收的信息,如开始位,同时在结束时有停止位现象:没有共同的时钟,不考虑顺序来了就处理直观感受:就是不用等了,效率高同步含义:指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系现象:有一个共同的时钟,按来的顺序一个一个处理直观感受:就是需要等候,效率低下那么今天我们看怎么用2种方法用代码实现tornado的异步?这些是导入的包:2种方
系统 2019-09-27 17:45:33 2489
导语由于之前遇到过几次有关于参数类型的坑,以及经常容易把一些参数类型搞混淆,现在做一下有关参数类型的总结记录以及对之前踩坑经历的分析。参数类型首先我们列举一下有关于Python的参数类型,以及实际上的运用和原理。位置参数(必选参数)默认参数可变参数关键字参数位置参数(必选参数)首先是位置参数,同时也被称作必选参数,位置参数很好理解,只要记住这点:在函数定义时直接给定的此参数名称,调用时按照参数的位置顺序,依次赋予参数值。示例:defperson_info(
系统 2019-09-27 17:57:36 2488
and和or是python的两个逻辑运算符,可以使用and,or来进行多个条件内容的判断。下面通过代码简单说明下andor的用法:1.or:当有一个条件为真时,该条件即为真。逻辑图如下:测试代码如下:a=raw_input('pleaseinputsomting:')ifa=='a'ora=='b':print'itisaorb'else:print'itisnotaorb'执行代码,输入a,b,ac,结果如下:pleaseinputsomting:ait
系统 2019-09-27 17:55:27 2488
最常见的一种形式是的是为一个或者多个参数指定默认值,这会创建一个可以使用比定义时允许的参数更少的参数调用的函数,defask_ok(prompt,retries=4,reminder='Pleasetryagain!'):whileTrue:ok=input(prompt)ifokin('y','ye','yes'):returnTrueifokin('n','no','nop','nope'):returnFalseretries=retries-1if
系统 2019-09-27 17:52:19 2488
概述在使用Python或者其他的编程语言,都会多多少少遇到编码错误,处理起来非常痛苦。在StackOverflow和其他的编程问答网站上,UnicodeDecodeError和UnicodeEncodeError也经常被提及。本篇教程希望能帮你认识Python编码,并能够从容的处理编码问题。本教程提到的编码知识并不限定在Python,其他语言也大同小异,但我们依然会以Python为主,来演示和讲解编码知识。通过该教程,你将学习到如下的知识:获取有关字符编码
系统 2019-09-27 17:50:33 2488
base64数据加密,是一种可逆的编码格式,生成的编码是ascii格式的数据,通过encode加密,decode解密。原理:1、将所有字符转化为ASCII码。2、将ASCII码转化为8位二进制。3、将二进制3个归成一组(不足3个在后边补0)共24位,再拆分成4组,每组6位。4、统一在6位二进制前补两个0凑足8位。5、将补0后的二进制转为十进制。6、从Base64编码表获取十进制对应的Base64编码。importbase64classEncodeDecod
系统 2019-09-27 17:50:29 2488
今天学习了如何使用pygame来制作小游戏,下面是五子棋的代码,我的理解都写在注释里了importpygame#导入pygame模块print(pygame.ver)#检查pygame的版本,检查pygame有没有导入成功EMPTY=0BLACK=1WHITE=2#定义三个常量函数,用来表示白棋,黑棋,以及空black_color=[0,0,0]#定义黑色(黑棋用,画棋盘)white_color=[255,255,255]#定义白色(白棋用)#定义棋盘这个
系统 2019-09-27 17:48:37 2488
本文实例讲述了python实现读取excel文件中所有sheet操作。分享给大家供大家参考,具体如下:表格是这样的实现把此文件所有sheet中标识为1的行,取出来,存入一个字典。所有行组成一个列表。#-*-coding:utf-8-*-fromopenpyxlimportload_workbookdefget_data_from_excel(excel_dir):#读取excel,取出所有sheet要执行的接口信息,返回列表work_book=load_w
系统 2019-09-27 17:47:43 2488
1、首先进入相应的虚拟环境2、在虚拟环境中使用命令行启动IDLEpython-midlelib.idle即可启动IDLE。而且可以导入环境变量中的包了。
系统 2019-09-27 17:46:47 2488
Python字典的遍历方法有好几种,其中一种是for...in,这个我就不说明,在Python了几乎随处都可见for...in。下面说的这种遍历方式是item()方法。item()item()方法把字典中每对key和value组成一个元组,并把这些元组放在列表中返回。DEMO代码:复制代码代码如下:person={'name':'lizhong','age':'26','city':'BeiJing','blog':'www.jb51.net'}forke
系统 2019-09-27 17:46:05 2488
·迭代器什么是迭代器:迭代器可以让我们访问集合的时候变得非常方便。之前我们通过for…in…来访问一个集合的时候,就是使用迭代器完成的。如果没有迭代器,那么我们只能通过while循环,每次循环的时候通过下标来访问了。可迭代对象:可以直接使用for循环遍历的对象,成为可迭代的对象,常见的可迭代对象有:list、tuple、dict、set、str以及生成器更加专业的判断一个对象是否是可迭代对象:这个对象有一个__iter__方法,并且这个方法会返回一个迭代器
系统 2019-09-27 17:54:21 2487
目录简介Cookie出现原因实现原理Cookie操作cookie+session总结:简介前几节的介绍中我们已经有能力制作一个登陆页面,在验证了用户名和密码的正确性后跳转到后台的页面。但是测试后也发现,如果绕过登陆页面。直接输入后台的url地址也可以直接访问的。这个显然是不合理的。其实我们缺失的就是cookie和session配合的验证。有了这个验证过程,我们就可以实现和其他网站一样必须登录才能进入后台页面了。先说一下这种认证的机制。每当我们使用一款浏览器
系统 2019-09-27 17:49:13 2487