Python

Python之路【第十六篇】:Python并发编程|进程、线程

一、进程和线程进程假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源。是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让程序B暂停,然后让程序A继续执行?当然没问题,但这里有一个关键词:切换既然是切换,那么这就涉及到了状态的保存,状态的恢复,加上程序A与程序B所需要的系统资源(内存,硬盘,键盘等等)是不一样的。自然

系统 2019-09-27 17:55:24 2270

Python

Python之路【第十七篇】:Python并发编程|协程

一、协程协程,又叫微线程,纤程。英文名Coroutine。协程本质上就是一个线程优点1:协程极高的执行效率。因为子程序切换不是线程切换,而是由程序自身控制,因此,没有线程切换的开销,和多线程比,线程数量越多,协程的性能优势就越来越明显。(简单来说没有切换的消耗)优点2:不需要多线程的锁机制,因为只有一个线程,也不存在同时写变量冲突,在协程中控制共享资源不加锁,只需要判断状态就好,所以执行效率比多线程高很多。(没有锁的概念)因为协程是一个线程执行,那怎么利用

系统 2019-09-27 17:54:05 2270

Python

opencv-python 图像灰度变换

灰度变换作为一种图像预处理技术可以显著的改善图像的质量,下面将介绍几种灰度变换的方法1.gamma变换Gamma变换是对输入图像灰度值进行的非线性操作,使输出图像灰度值与输入图像灰度值呈指数关系:s=crλs=cr^{\lambda}s=crλ这个指数即为Gamma。Gamma变换就是用来图像增强,其提升了暗部细节,简单来说就是通过非线性变换,让图像从暴光强度的线性响应变得更接近人眼感受的响应,即将漂白(相机曝光)或过暗(曝光不足)的图片,进行矫正。经过G

系统 2019-09-27 17:52:58 2270

Python

python3中替换python2中cmp函数的实现

python3.4.3的版本中已经没有cmp函数,被operator模块代替,在交互模式下使用时,需要导入模块。在没有导入模块情况下,会出现提示找不到cmp函数了,那么在python3中该如何使用这个函数呢?所以要导入模块看下面给的内置函数operator.lt(a,b)operator.le(a,b)operator.eq(a,b)operator.ne(a,b)operator.ge(a,b)operator.gt(a,b)operator.__lt_

系统 2019-09-27 17:52:56 2270

Python

推荐11个实用Python库

1)delorean非常酷的日期/时间库复制代码代码如下:fromdeloreanimportDeloreanEST="US/Eastern"d=Delorean(timezone=EST)2)prettytable可以在浏览器或终端构建很不错的输出复制代码代码如下:fromprettytableimportPrettyTabletable=PrettyTable(["animal","ferocity"])table.add_row(["wolverin

系统 2019-09-27 17:52:49 2270

Python

Python 学习 第16篇:数据类型(字典)

字典是键/值对构成的集合,字典通过大括号来创建,字典的键是字符串,而值可以是任何数据对象。字典有两个重要的特征:字典是无序的,字典项没有特定的顺序,只能通过键来获取值;字典是可变的,支持原处修改键的值;字典是作为散列表来实现的,可增长,搜索非常快速;和列表一样,字典存储的是对象的引用,不是拷贝。创建字典创建空的字典:>>>d={}创建包含两个项目的字典:>>>d={'name':'vic','age':28}创建包含嵌套类型的字典:>>>d={'stude

系统 2019-09-27 17:52:13 2270

Python

python轻松实现代码编码格式转换

最近刚换工作不久,没太多的时间去整理工作中的东西,大部分时间都在用来熟悉新公司的业务,熟悉他们的代码框架了,最主要的是还有很多新东西要学,我之前主要是做php后台开发的,来这边之后还要把我半路出家的前端学好、还要学习C++,哈哈,总之很充实了,每天下班回家都可以睡的很香(一句话总结,就是吃得香、睡的香~)。再说说换工作时候吧,今年年初正式毕业半年了,感觉自己技术增长很快,原公司里面程序员的地位还不如运营,所以想换个工作,面试了3家(2家大的、一家小的),都

系统 2019-09-27 17:51:19 2270

Python

python更改已存在excel文件的方法

需要用到的包:importxlrdimportxlwtimportxlutils修改已经存在的excel文件的思路:首先,将需要更改的excel文件打开,用xlutils包的copy将excel文件对象拷贝一份,然后进行修改操作具体代码实现:importxlrdimportxlwtfromxlutils.copyimportcopy#打开想要更改的excel文件old_excel=xlrd.open_workbook('fileName.xls',form

系统 2019-09-27 17:51:18 2270

Python

由浅入深,内容详实《Python爬虫开发与项目实战》 豆瓣评分[7.10]

image下载地址……1、点击阅读原文或者地址https://ebooklist.mobi/2019/05/20/6461.html2、回复关键字11735直接获取下载链接,好书推荐、视频分享,公众号"读书ReadBook"与您一起进步图书简介……随着大数据时代到来,网络信息量也变得更多更大,基于传统搜索引擎的局限性,网络爬虫应运而生,本书从基本的爬虫原理开始讲解,通过介绍Pthyon编程语言和Web前端基础知识引领读者入门,之后介绍动态爬虫原理以及Scr

系统 2019-09-27 17:50:07 2270

Python

Python实现Linux监控的方法

工作原理:基于/proc文件系统Linux系统为管理员提供了非常好的方法,使其可以在系统运行时更改内核,而不需要重新引导内核系统,这是通过/proc虚拟文件系统实现的。/proc文件虚拟系统是一种内核和内核模块用来向进程(process)发送信息的机制(所以叫做“/proc”),这个伪文件系统允许与内核内部数据结构交互,获取有关进程的有用信息,在运行中(onthefly)改变设置(通过改变内核参数)。与其他文件系统不同,/proc存在于内存而不是硬盘中。p

系统 2019-09-27 17:49:23 2270

Python

50行Python代码获取高考志愿信息的实现方法

最近遇到个任务,需要将高考志愿信息保存成Excel表格,BOSS丢给我一个网址表格之后就让我自己干了。虽然我以前也学习过Python编写爬虫的知识,不过时间长了忘了,于是摸索了一天之后终于完成了任务。不得不说,Python干这个还是挺容易的,最后写完一看代码,只用了50行就完成了任务。准备工作首先明确一下任务。首先我们要从网址表格中读取到一大串网址,然后访问每个网址,获取到页面上的学校信息,然后将它们在写到另一个Excel中。显然,我们需要一个爬虫库和一个

系统 2019-09-27 17:46:28 2270

Python

Python中使用不同编码读写txt文件详解

复制代码代码如下:importosimportcodecsfilenames=os.listdir(os.getcwd())out=file("name.txt","w")forfilenameinfilenames:out.write(filename.decode("gb2312").encode("utf-8"))out.close()将执行文件的当前目录及文件名写入到name.txt文件中,以utf-8格式保存如果采用ANSI编码保存,用如下代码写

系统 2019-09-27 17:46:20 2270

Python

Python实现基本线性数据结构

数组数组的设计数组设计之初是在形式上依赖内存分配而成的,所以必须在使用前预先请求空间。这使得数组有以下特性:1、请求空间以后大小固定,不能再改变(数据溢出问题);2、在内存中有空间连续性的表现,中间不会存在其他程序需要调用的数据,为此数组的专用内存空间;3、在旧式编程语言中(如有中阶语言之称的C),程序不会对数组的操作做下界判断,也就有潜在的越界操作的风险(比如会把数据写在运行中程序需要调用的核心部分的内存上)。因为简单数组强烈倚赖电脑硬件之内存,所以不适

系统 2019-09-27 17:46:17 2270

Python

Python中pip安装非PyPI官网第三方库的方法

在python中安装非自带python模块,有三种方式:1.easy_install2.pip3.下载压缩包(.zip,.tar,.tar.gz)后解压,进入解压缩的目录后执行pythonsetup.pyinstall命令本文主要针对pip安装时可能会碰到的一种情况,及解决办法:假如我要安装pylint模块,该模块非python自带模块,用import肯定不能导入,需要额外安装复制代码代码如下:>>>importpylintTraceback(mostre

系统 2019-09-27 17:46:05 2270

Python

Neo4j 第十二篇:使用Python驱动访问Neo4j

neo4j官方驱动支持Python语言,驱动程序主要包含Driver类型和Session类型。Driver对象包含Neo4j数据库的详细信息,包括主机url、安全验证等配置,还管理着连接池(ConnectionPool);Session对象是执行事务单元的逻辑上下文,事务是在Session的上下文中执行的。由于Session不是线程安全的,并能够从Driver对象管理的连接池中回收利用(Recycle)连接,因此,Session对象是轻量级的(lightw

系统 2019-09-27 17:45:32 2270