搜索到与相关的文章
Python

123 Python程序中的线程操作-协程

目录一、什么是协程二、为什么要有协程三、协程的优缺点四、如何实现协程五、Gevent模块5.1模块的安装5.2用法介绍5.3代码实例六、gevent之应用一、什么是协程协程:就是单线程下实现并发协程概念本质是程序员抽象出来的,是人为的控制通过程序的IO去进行切换任务的执行并发:任务切换+保存状态二、为什么要有协程自己控制切换要比操作系统切换快的多.降低了单个线程的io堵塞时间,也就是实现了单线程下效率最高.三、协程的优缺点优点:自己控制切换要比操作系统切换

系统 2019-09-27 17:49:35 1942

Python

使用Python中的greenlet包实现并发编程的入门教程

1动机greenlet包是Stackless的副产品,其将微线程称为“tasklet”。tasklet运行在伪并发中,使用channel进行同步数据交换。一个”greenlet”,是一个更加原始的微线程的概念,但是没有调度,或者叫做协程。这在你需要控制你的代码时很有用。你可以自己构造微线程的调度器;也可以使用”greenlet”实现高级的控制流。例如可以重新创建构造器;不同于Python的构造器,我们的构造器可以嵌套的调用函数,而被嵌套的函数也可以yiel

系统 2019-09-27 17:49:28 1942

Python

Python重试模块retrying

Python重试模块retrying工作中经常碰到的问题就是,某个方法出现了异常,重试几次。循环重复一个方法是很常见的。比如爬虫中的获取代理,对获取失败的情况进行重试。刚开始搜的几个博客讲的有点问题,建议看官方文档,还有自己动手实验。参考:https://segmentfault.com/a/1190000004085023https://pypi.org/project/retrying/最初的版本importrequestsclassProxyUtil

系统 2019-09-27 17:49:24 1942

Python

Python之os模块

OS模块基本操作提供对操作系统进行调用的接口importos#导入模块os.getcwd()#获取当前目录(pwd)os.chdir("/Users")#切换到某个指定的目录(cd/Users)os.curdir#返回当前目录('.'、cd.)os.pardir#返回上级目录('..'、cd..)os.makedirs('dirname1/dirname2')#递归创建目录(mkdir-p)os.removedirs('dirname1/dirname2'

系统 2019-09-27 17:49:12 1942

Python

Python generator生成器和yield表达式详解

前言Python生成器(generator)并不是一个晦涩难懂的概念。相比于MetaClass和Closure等概念,其较为容易理解和掌握。但相对于程序结构:顺序、循环和分支而言其又不是特别的直观。无论学习任何的东西,概念都是非常重要的。正确树立并掌握一些基础的概念是灵活和合理运用的前提,本文将以一种通俗易懂的方式介绍一下generator和yield表达式。1.Iterator与Iterable首先明白两点:Iterator(迭代器)是可迭代对象;可迭代

系统 2019-09-27 17:48:41 1942

Python

如何用python生成自己的比特币私钥

在加密货币中,私钥允许用户访问其钱包。持有私钥的人完全控制该钱包中数字货币。出于这个原因,你应该保守秘密。如果你真的想自己生成密钥,那么以安全的方式生成密钥是有意义的。在这里,我将介绍私钥,并向你展示如何使用各种加密函数生成自己的密钥。我将在Python中提供算法和代码的描述。我需要生成私钥吗?大多数时候你没有。例如,如果你使用Coinbase或Blockchain.info等网络钱包,他们会为你创建和管理私钥。交易所也是如此。移动和桌面钱包通常也会为你生

系统 2019-09-27 17:48:40 1942

Python

Python简单进程锁代码实例

先说说线程在多线程中,为了保证共享资源的正确性,我们常常会用到线程同步技术.将一些敏感操作变成原子操作,保证同一时刻多个线程中只有一个线程在执行这个原子操作。我最常用的是互斥锁,也称独占锁。其次还有读写锁,信号量,条件变量等。除此之外,我们在进程间通信时会用到信号,向某一个进程发送信号,该进程中设置信号处理函数,然后当该进程收到信号时,执行某些操作。其实在线程中,也可以接受信号,利用这种机制,我们也可以用来实现线程同步。更多信息见//www.jb51.ne

系统 2019-09-27 17:48:40 1942

Python

Python面试准备(四)之 python操作类题目

操作类题目Python交换两个变量的值答:在Python中交换两个对象的值通过下面的方式即可a,b=b,a但是需要强调的是这并不是元组解包,通过dis模块可以发现,这是交换操作的字节码是ROT_TWO,意思是在栈的顶端做两个值的互换操作。在读文件操作的时候会使用read、readline或者readlines,简述它们各自的作用答:read()每次读取整个文件,它通常用于将文件内容放到一个字符串变量中。如果希望一行一行的输出那么就可以使用readline(

系统 2019-09-27 17:48:20 1942

Python

Python 列表去重去除空字符的例子

如下所示:#x=['cba',"edf"]#y=[]#foriinx:#foriiini:##print(ii)#ifii=='':#pass#else:#y.append(ii)#print(y)#python清除列表中的空字符#list1=['122','2333','3444','','422','','','54','']#第一种方法会导致最后一个''没有被移除掉['122','2333','3444','422','54','']#forxinl

系统 2019-09-27 17:47:59 1942

Python

现代算法可视化(一)、python实现生命游戏(元胞自动机)

效果展示规则介绍基于二维元胞自动机的生命游戏可视化实现规则:蓝色方块代表生命有颜色的方块代表生命,无颜色的方块代表死亡一个细胞周围有八个细胞,对于一个活细胞来说,如果它周围的八个细胞中:如果只有一个或没有一个是活的,那这个细胞就会死亡如果其中两个或者三个细胞是活的,那这个细胞就能维持生命如果超过3个细胞是活着的,那这个细胞就会因为过于拥挤而死亡对于一个死细胞来说,如果这个细胞周围如果有三个细胞存活,该将获得新生。附:所有规则都可以修改,种群初始密度也可以修

系统 2019-09-27 17:47:53 1942