阻塞IO(blockingIO)在linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样:当用户进程调用了recvfrom这个系统调用,kernel内核就开始了IO的第一个阶段:准备数据。对于networkio(网络io)来说,很多时候数据在一开始还没有到达(比如,还没有收到一个完整的UDP包),这个时候kernel(内核)就要等待足够的数据到来。等着对方把数据放到自己操作系统内存而在用户进程这边,整个进程会被阻塞。
系统 2019-09-27 17:53:03 2315
之前用了谷歌的selenium模块,为了练习一下所以写了这个(没错才不是别的理由!)代码里涉及到了各种复杂的情况,包括要找的div在别的iframe中的处理方式,顶部导航栏的定位方式等等。综合性很强下面是代码fromseleniumimportwebdriverimporttimefromfake_useragentimportUserAgentopt=webdriver.ChromeOptions()#opt.add_argument('--headle
系统 2019-09-27 17:52:24 2315
Mock是什么Mock这个词在英语中有模拟的这个意思,因此我们可以猜测出这个库的主要功能是模拟一些东西。准确的说,Mock是Python中一个用于支持单元测试的库,它的主要功能是使用mock对象替代掉指定的Python对象,以达到模拟对象的行为。简单的说,mock库用于如下的场景:假设你开发的项目叫a,里面包含了一个模块b,模块b中的一个函数c(也就是a.b.c)在工作的时候需要调用发送请求给特定的服务器来得到一个JSON返回值,然后根据这个返回值来做处理
系统 2019-09-27 17:50:44 2315
数据聚合与分组处理——数据聚合、分组运算与转换、透视表与交叉表代码#-*-coding:utf-8-*-from__future__importdivisionfromnumpy.randomimportrandnimportnumpyasnpimportosimportmatplotlib.pyplotaspltnp.random.seed(12345)plt.rc('figure',figsize=(10,6))frompandasimportSeri
系统 2019-09-27 17:50:37 2315
解决print()中文的乱码问题!!!#-*-coding:utf-8-*-importioimportsys#改变标准输出的默认编码(改变中文输出的乱码问题)sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')selenium+chrome浏览器进行爬虫下载chrome的浏览器驱动(http://chromedriver.storage.googleapis.com/index.ht
系统 2019-09-27 17:49:57 2315
使用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 2315
Python模块EasyGui详细介绍前言:在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库。下面就分享一下简单的使用吧。参考的链接:官网Tutorial接下来,我将从简单,到复杂一点点的演示如何使用这个模块。希望能给刚接触easygui的你一点帮助:-)msgBox,ccbox,ynbox#coding:utf-8#__author__='Marksinoberg'#__date__='2016/5/25'#__
系统 2019-09-27 17:48:21 2315
需求:连接本机的(两台安卓手机)或者本机安装的(安卓模拟器两个),实现同时安装本地apk包。demon.py特别说明:必须写udid才能实现同时对两台以上的移动设备操作。对deviceName中的值进行修改后是无法区分移动设备的,如果只修改deviceName的value就只能在同一台设备上进行安装了。下面代码只是基础介绍,扩展到框架中需要根据自己需求做;importosimportthreadingimportmultiprocessingfromapp
系统 2019-09-27 17:47:46 2315
insert()方法插入对象obj到列表的偏移量索引。语法以下是insert()方法的语法:list.insert(index,obj)参数index--这是要插入对象obj必要的索引obj--这是将被插入到给定的列表中的对象返回值此方法不返回任何值,但它插入指定的索引处的指定元素例子下面的例子显示了insert()方法的使用#!/usr/bin/pythonaList=[123,'xyz','zara','abc']aList.insert(3,2009
系统 2019-09-27 17:46:55 2315
一.垃圾回收机制Python中的垃圾回收是以引用计数为主,分代收集为辅。引用计数的缺陷是循环引用的问题。在Python中,如果一个对象的引用数为0,Python虚拟机就会回收这个对象的内存。#encoding=utf-8__author__='kevinlu1010@qq.com'classClassA():def__init__(self):print'objectborn,id:%s'%str(hex(id(self)))def__del__(self
系统 2019-09-27 17:38:18 2315