阻塞IO(blockingIO)在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:当用户进程调用了recvfrom这个系统调用,kernel内核就开始了IO的第一个阶段:准备数据。对于networkio(网络io)来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel(内核)就要等待足够的数据到来。等着对方把数据放到自己操作系统内存而在用户进程这边,整个进程会被阻塞。
系统 2019-09-27 17:53:03 2320
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2320
python标准库包含于日期(date)和时间(time)数据的数据类型,datetime、time以及calendar模块会被经常用到。datetime以毫秒形式存储日期和时间,datetime.timedelta表示两个datetime对象之间的时间差。下面我们先简单的了解下python日期和时间数据类型及工具给datetime对象加上或减去一个或多个timedelta,会产生一个新的对象fromdatetimeimportdatetimefromda
系统 2019-09-27 17:51:56 2320
本文定位:想通过python调用top命令获取cpu使用率但暂时没有思路的情况。如果单纯为了获得cpu的利用率,通过top命令重定向可以轻松实现,命令如下:复制代码代码如下:top-bi>cpuHistory.log或复制代码代码如下:top-bi|teecpuHistory.log这个就不解释了,不懂的朋友查询下top的帮助文档。这里要实现的是通过python调用top命令,并获得cpu的利用率信息。用过popen的朋友很快就能想到类似如下的代码(这个是
系统 2019-09-27 17:51:42 2320
和其他语言不一样,传递参数的时候,python不允许程序员选择采用传值还是传引用。Python参数传递采用的肯定是“传对象引用”的方式。实际上,这种方式相当于传值和传引用的一种综合。如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过“传引用”来传递对象。如果函数收到的是一个不可变对象(比如数字、字符或者元组)的引用,就不能直接修改原始对象--相当于通过“传值'来传递对象。python一般内部赋值变量的话,都是传个引用
系统 2019-09-27 17:51:23 2320
这个问题在网上找了很长时间,也没有很好的解决方案,大多数都是用的ftp.retrlines('LIST',处理函数)来获得文件的时间但是格式是所以很难做成时间戳,获取时间的目的不就是用来比较,所以下面个大家来个可以获取时间然后转化成时间戳的方式首先函数直接获取ftp文件的时间然后我的做法是,先将时间转化成列表,然后做成时间元组,再用函数转化成时间戳。L=list(ftp.sendcmd('MDTM'+"/home/tarena/%s/%s"%(files_
系统 2019-09-27 17:50:49 2320
Mock是什么Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西。准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。简单的说,mock库用于如下的场景:假设你开发的项目叫a,里面包含了一个模块b,模块b中的一个函数c(也就是a.b.c)在工作的时候需要调用发送请求给特定的服务器来得到一个JSON返回值,然后根据这个返回值来做处理
系统 2019-09-27 17:50:44 2320
这篇文章主要介绍了pythonWebflask视图内容和模板实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下基本使用#设置cookie值@app.route('/set_cookie')defset_cookie():response=make_response("set_cookie")response.set_cookie("name","zhangsan")response.set_cooki
系统 2019-09-27 17:49:21 2320
一段时间没有使用python来写代码,就发现以前学习的很多语法都忘了。看来还是当初这方面的项目做的好不够多,没有系统性的运用和学习,导致了很多语法不能顺手拈来。在接下来的这个项目中,一定要把遇到的一些python知识不熟悉的地方还有遗忘的重新梳理一下,对python要达到灵活运用的境界,不能单纯是能敲代码,要达到学,做,教的三者合一。就是在做中学,学中做,做中教,教中学的境界。全局变量的作用域:一般在函数体外定义的变量成为全局变量,在函数内部定义的变量称为
系统 2019-09-27 17:49:09 2320
使用socket实现tcp通信,需导入socket模块1、服务端主要步骤:(1)创建socket:socket.socket(family=AF_INET,type=SOCK_STREAM,proto=0,fileno=None)family:AF_INET,AF_INET6,AF_UNIX,AF_CAN,AF_PACKET,AF_RDStype:SOCK_STREAM,SOCK_DGRAM,SOCK_RAW,或者其他SOCK_*proto:一般使用默认值
系统 2019-09-27 17:48:40 2320