java中的接口是类吗
379
2022-06-23
题图:漫威宇宙英雄
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的使用也非常的简单,如下图所示:
图中我们创建请求对象,然后请求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
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类型,就可以方便的进行后续处理。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~