包虫病

首页 » 常识 » 诊断 » 没掌握这22个工具包,别说精通Pyt
TUhjnbcbe - 2021/6/11 2:19:00
白癜风医院美丽*皮肤行动 http://m.39.net/pf/a_6410197.html

点上方人工智能算法与Python大数据获取更多干货

在右上方···设为星标★,第一时间获取资源

仅做学术分享,如有侵权,联系删除

转载于:作者:Erik-JanvanBaaren,编译:CSDN-弯月

首先我列出了最近一年内PyPI上下载量最高的Python包。我们来看看这些包的作用,它们的之间的关系,以及为什么会如此流行。

1.Urllib3

8.93亿次下载

Urllib3是Python的HTTP客户端,它提供了许多Python标准库没有的功能。

线程安全

连接池

客户端SSL/TLS验证

使用multipart编码进行文件上传

用于重传请求并处理HTTP重定向的辅助功能

支持gzip和deflate编码

支持HTTP和SOCKS代理

尽管名字叫做Urllib3,但它并不是Python自带的urllib2的后继版本。如果你想尽可能使用Python的核心功能(比如由于某些限制导致不能安装),那么可以看看urllib.request。

对于最终用户,我强烈推荐requests包(参考列表中的第六项)。Urllib3之所以排名第一是因为几乎个软件包都依赖它,许多这些软件包也都在列表中名列前茅。

2.Six

7.32亿次下载

Six是Python2和Python3兼容性工具。该项目的目的是让代码能够同时在Python2和Python3上运行。

它提供了许多函数,掩盖了Python2和Python3之间的语法差异。最容易理解的例子就是six.print_()。在Python3中,输出时需要使用print()函数,而Python2中是使用不带括号的print。因此,使用six.print_()可以同时支持两种语言。

重点:

包的名字six来自于2x3=6

类似的库还有future

如果想将代码转换成Python3(同时不再支持Python2),可以看看2to3

尽管我理解该包如此流行,但还是希望人们尽快抛弃Python2,特别是从年1月1日起官方已经不再支持Python2了。

3.botocore,boto3,s3transfer,awscli

这几个项目放在一起说:

botocore:第3名,6.6亿次下载

s3transfer:第7名,5.84亿次下载

awscli:第17名,3.94亿次下载

boto3:第22名,3.29亿次下载

Botocore是AWS的底层接口。botocore是boto3(第22名)库的基础,后者可以让你访问亚马逊的S3、EC2等服务。

Botocore也是AWS-CLI的基础,后者是AWS的命令行界面。

s3transfer(第七名)是用于管理S3传输的Python库。该库仍在开发中,它的主页依然不建议使用,或者使用时至少要固定版本,因为即使在小版本号之间它的API也可能会发生变化。boto3、AWS-CLI和许多其他项目都依赖于s3transfer。

AWS相关的库的排名如此高,正说明了AWS的服务是多么流行。

4.Pip

6.27亿次下载

我猜许多人都知道并且喜爱pip(Python的包安装工具)。使用pip从PythonPackageIndex和其他仓库(如本地镜像或包含私有软件的自定义仓库等)安装软件包不费吹灰之力。

关于pip的趣事:

Pip的名字是个递归定义:PipInstallsPackages

Pip非常容易使用。安装一个软件包只需要执行pipinstall软件包名。删除只需要执行pipuninstall软件包名。

Pip最大的好处就是它可以安装一系列包,通常会放在requirements.txt文件中。该文件还可以指定每个包的详细版本号。绝大多数Python项目都会包含这个文件。

与virtualenv(第57名)结合使用pip,可以创建可预测的、独立的环境,而不会与系统本身的环境互相影响。

5.python-dateutil

6.17亿次下载

Python-dateutil模块为标准的datetime模块提供了强大的功能扩展。普通的Pythondatetime无法做到的事情都可以使用python-dateutil完成。

用这个库可以完成许多非常酷的功能。我只举一个非常有用的例子:从日志文件中模糊解析日期字符串:

fromdateutil.parserimportparselogline=INFO-01-01T00:00:01Happynewyear,human.timestamp=parse(log_line,fuzzy=True)print(timestamp)#-01-:00:01

6.requests

6.11亿次下载

Requests基于下载量第一的库urllib3。有了它,发送请求变得极其简单。许多人对requests的喜爱超过了urllib3,因此requets的最终用户可能比urllib3还要多。后者更底层,通常作为其他项目的依赖出现。

下面的例子演示了requests有多么容易使用:

importrequestsr=requests.get(

1
查看完整版本: 没掌握这22个工具包,别说精通Pyt