在网络通信中,每个连接都必须创建新线程(或进程)来处理,否则,单线程在处理连接的过程中,无法接受其他客户端的连接。所以我们尝试使用协程来实现服务器对多个客户端的响应。与单一TCP通信的构架一样,只是使用协程来实现多个任务同时进行。#服务端importsocketfromgeventimportmonkeyimportgeventmonkey.patch_all()defhandle_conn(seObj):whileTrue:re_Data=seObj.r
系统 2019-09-27 17:50:26 1802
随机整数:复制代码代码如下:>>>importrandom>>>random.randint(0,99)21随机选取0到100间的偶数:复制代码代码如下:>>>importrandom>>>random.randrange(0,101,2)42随机浮点数:复制代码代码如下:>>>importrandom>>>random.random()0.85415370477785668>>>random.uniform(1,10)5.4221167969800881
系统 2019-09-27 17:50:25 1802
一、写在前面前几天在微信上看到这样一篇文章,链接为:https://mp.weixin.qq.com/s/rl6Sgv3uk_IpoFAx6cWa8w,在这篇文章中,有这样一段话,吸引了我的注意:在Linux中ls是一个使用频率非常高的命令了,可选的参数也有很多,算是一条不得不掌握的命令。Python作为一门简单易学的语言,被很多人认为是不需要认真学的,或者只是随便调个库就行了,那可就真是小瞧Python了。那这次我就要试着用Python来实现一下Linu
系统 2019-09-27 17:49:51 1802
前言本文主要介绍的是关于python中open函数用法的相关资料,用法如下:name=open('errname.txt','w')name.readline()name.close()1、看下第一行的代码用来访问磁盘中存放的文件,可以进行读写等操作,例如上例中'w',这里便是对errname.txt这个文件进行读操作例如:w:以写方式打开a:以追加方式打开r+:以读写模式打开w+:以读写模式打开rb:以二进制读模式打开wb:以二进制写模式打开ab:以二进
系统 2019-09-27 17:49:36 1802
安装很简单复制代码代码如下:pipinstallpsutil官网地址为:https://pythonhosted.org/psutil/(文档上有详细的api)github地址为:https://github.com/giampaolo/psutil/psutil比较好的地方,一个是跨平台,不需要切换平台的时候在重新开放了,另外一个好处的工具集中CPU,memory,disks,network,这些信息都可以获得到。可以用来做系统监控,性能分析,进程管理。
系统 2019-09-27 17:48:35 1802
python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码,a=1只是一个很普通的字符)解释字符(涉及字符编码,再去内存空间生成一个a=1的变量)python2用的是ascii,python3默认是utf8读取字符#coding:gbk会告诉python3解释器用gbk编码读取字符python3(了解)你看到的其实是unicode但是终端帮你把这个unicode的0和1做一个转换,从unicod
系统 2019-09-27 17:48:12 1802
map函数map(func,*iterables)-->mapobject参数function传的是一个函数名,可以是python内置的,也可以是自定义的。参数iterable传的是一个可以迭代的对象,例如列表,元组,字符串这样的。处理序列中的的每个元素,得到的结果是一个‘列表+’,该列表的元素个数及位置与原来的一样;a=(1,2,3,4,5)b=[1,2,3,4,5]la=map(lambdax:x+1,a)lb=map(lambdax:x**2,b)p
系统 2019-09-27 17:48:02 1802
什么是python描述符:类里面有__get__或__set__或__del__的就叫描述符属性查找优先级类属性数据描述符(同时实现__get__和__set__)实例属性非数据描述符(只实现__get__)__getattr__通过代理和描述符实现属性懒加载这里是使用装饰器的方式实现的懒加载。可以将耗时的操作放到方法里面。在未使用的时候是一个方法,当第一次使用过后就会替换掉方法,并为之设置属性值。注意,只有在使用的时候才会执行函数里面的代码,并且只执行一
系统 2019-09-27 17:47:51 1802
某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi
系统 2019-09-27 17:47:25 1802
Python3快速入门(九)——Python3并发编程一、Python线程模块1、线程简介一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程本身不拥有系统资源,与进程内的其它线程共享进程的所有资源。一个进程中至少有一个线程,并作为程序的入口,即主线程,其它线程称为工作线程。多线程,是指从软件或者硬件上实现多个线程并发执行的技术。支持多线程能力的计算机因有硬件支持而能够在同一时
系统 2019-09-27 17:46:47 1802