+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

2020-03(49)

2020-04(67)

2020-05(28)

2020-06(46)

2020-07(42)

80%的人都不知道,全球Python库下载前10名

发布于2020-05-23 22:17     阅读(427)     评论(0)     点赞(30)     收藏(4)


0

1

2

3

4

5

题图:漫威宇宙英雄

 

Python的简洁性,不仅仅在于其语法简单,还有各种python库函数的支持,为大家节省了大量的时间和精力,所以网上有人戏称python的编程者为调包侠。但是你知道全球最受欢迎的python库嘛?今天小编就从PYPI网站的过去365天的python库下载量上,来看一下全球最火的22个python库。

 

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

01.Urllib3

Urllib3在过去365天中,下载量达到了9.55亿次。Urllib3是一个功能强大的,用于http客户端的python库,相比于python标准库中的urllib库,Urllib3提供了更全面的特性,包括线程安全,客户端SSL/TLS验证等,不仅如此,Urllib3广泛的被其他库依赖,有接近1200个库依赖Urllib3库。Urllib3的使用也非常的简单,如下图所示:

图中我们创建请求对象,然后请求www.baidu.com网站的信息,输出状态码和返回的数据信息。

 

02.six库

six库是对于python2和python3的兼容库,使用six库可以使写的代码不用进行修改就能在python2或者python3的环境下进行运行,如下图所示:

我们可以看到,six库对Python2和Python3的名字等做了统一,比如在Python2中,字符串的类型使unicode,而在python3中,字符串的类型是str,Python3叫,那么就可以使用six.string_types的类型。如果运行在Python2上,six. string_types就是unicode,如果运行在Python3上,six. string_types就是str类型。但是由于python2已经停止维护,所以six函数库的热度也将会在未来下降。

 

03.botocore、s3transfer库

这里botocore和s3transfer都与亚马逊网页服务(AWS)支持相关。Botocore是boto3库的基础库,而boto3则是允许使用者在编写软件时使用亚马逊服务,例如亚马逊的S3服务等。而s3transfer则是用于管理亚马逊S3传输的python库。因此同样被boto3库所依赖。

上图所示的程序中,我们首先创建一个s3服务,然后查看所有的Bucket内容,最后我们使用s3服务上传了一个图片文件。

 

 

04.requests

对于requests函数库,想必大家都不会陌生,requests库使得我们对于网页的请求变得很简单。由于requests使用更加简单,便捷,因此在实际的应用中,大家更趋向于使用requests库而不是urllib3。

上图中我们利用requests库来请求百度的首页,并输出状态码和网页源代码。

 

05.python-dateutil

python-dateutil模块是对于python内置库datetime的扩展和增强,示例功能如下图所示:

上述程序中,我们通过操控dateutil库中的relativedelta来实现输出去年的今天功能,并通过parse模块来将字符串转化为datetime类型的日期。

 

06.pip库

大家对于python库的安装,想必大都用过pip进行安装,pip是Python官方推荐的包管理工具,大家在使用pip安装的时候,可以通过pip install <特定的包>进行在线的安装,也可以先下载特定包的whl文件,然后通过pip install <xxx.whl>的方式,离线安装特定的包。而进行卸载的时候,可以通过pip uninstall <特定的包>进行卸载。如下图所示:

 

07.certifi库

浏览器在进行网页浏览的时候,需要在浏览器和网页服务器之间建立加密连接,而SSL就是用于这一用途,通过SSL连接可以保护在每次交互期间交换敏感的数据,例如我们通过某宝进行网页交易的时候,对于密码等信息的传递。

 

而在进行验证的过程中,需要在客户端安装根证书。那么certifi库的作用是什么呢,当我们去爬取网页的时候,有时候会遇到 SSL:CERTIFICATE_VERIFY_FAILED的错误,这就是SSL验证错误,遇到这种错误的话,我们可以利用certifi库进行解决,如下图所示。

 

上图中通过certifi软件包使用Mozilla的证书来进行证书的验证。从而解决SSL验证报错的问题。

 

08.idna库

idna库在我们日常的编程中,很难遇到,因为它解决的问题我们几乎遇不到。idna是一种在应用程序中的国际化域名协议,用于处理包含非ASCII字符的域名机制。由于浏览器和邮件等不支持除了ASCII码以外的其他字符,这对于很多国家,例如咱们中国、德国、法国等非英语国家来说,非常的不方便,所以idna的主要功能就是将国际的unicode域名和ASCII字符串进行相互的转换。如下图所示:

上图中我们分别实现了将国际的unicode域名转化为ASCII字符串,并实现了逆转换。

 

09.pyyaml

pyyaml库是针对于yaml文件进行处理的库,经常用于对于程序中的一些配置信息的读写和存储。yaml同json文件类似,也是一种配置文件。下图展示的是利用pyyaml库对yaml文件进行读写操作。

 

 

10.chardet库

对于字符串的编码问题,一直是很难处理的一个问题,虽然python提供了str和bytes的数据类型,并且可以通过encode()和decode()方法来转换字符串的编码方式,但是对于不知道编码类型的情况下,很难准确的进行解码操作

 

所以chardet库就排上了用场。chardet用来对输出字符串的编码类型进行判断,并输出编码类型的判断信心和字符串的语言类型。如下图所示:

上图中,我们可以发现,使用chardet可以很方便的进行检测编码。获取到编码后,再转换为str类型,就可以方便的进行后续处理。

 


 

以上就是小编对于PYPI中下载量前十位的python库的介绍,通过上面的介绍,我们可以发现,在平时的编程中,我们很少单独import上述模块进行编程,甚至我们都没有听说过上面的某些库,而像是大家喜闻乐见的NumPy(排名23),Pandas(排名38)等库,排名却很靠后。这是为什么呢?

 

这里其实很好解释,因为上述的前十下载量的python库,都有很多的python库需要它们的支持,虽然模块很小,但却是很多python库不可缺少的依赖库,在安装的时候都需要被下载安装,所以它们的下载量就会非常的多,想必大家在日常的库安装时,都或多或少的有些体会。

 

通过小编的介绍,大家可以看到python的函数库中虽然有的不是很出名,但是却默默的发挥着自己巨大的作用,成为python编程中不可或缺的一环。真可谓:别看模块小,用处真不少!

0

1

2

3

4

5

6

7

8

9



所属网站分类: 技术文章 > 博客

作者:天青色等烟雨

链接: https://www.pythonheidong.com/blog/article/390515/b2fe1602b61dd53a83ca/

来源: python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

30 0
收藏该文
已收藏

评论内容:(最多支持255个字符)