python常见的库有哪些

python常见的库有:1、Urllib3;2、Six;3、Botocore;4、pip;5、Pthon-dateutil;6、Requests;7、certifi。Urllib3 是 Python 的 HTTP 客户端,它提供了许多 Python 标准库没有的功能。

一、Urllib3

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

线程安全
连接池
客户端 SSL/TLS 验证
使用 multipart 编码进行文件上传
用于重传请求并处理 HTTP 重定向的辅助功能
支持 gzip 和 deflate 编码
支持 HTTP 和 SOCKS 代理

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

二、Six

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

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

重点:

包的名字 six 来自于2 x 3 = 6
类似的库还有 future
如果想将代码转换成 Python 3(同时不再支持 Python 2),可以看看 2to3

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

三、botocore

这几个项目放在一起说:

botocore
s3transfer
awscli
boto3

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

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

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

四、Pip

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

关于 pip 的趣事:

Pip 的名字是个递归定义:Pip Installs Packages
Pip 非常容易使用。安装一个软件包只需要执行 pip install <软件包名>。删除只需要执行 pip uninstall <软件包名>。
Pip 最大的好处就是它可以安装一系列包,通常会放在 requirements.txt 文件中。该文件还可以指定每个包的详细版本号。绝大多数 Python 项目都会包含这个文件。
与 virtualenv(第57名)结合使用 pip,可以创建可预测的、独立的环境,而不会与系统本身的环境互相影响。

五、python-dateutil

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

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

from dateutil.parser import parse

logline = 'INFO 2020-01-01T00:00:01 Happy new year, human.'
timestamp = parse(log_line, fuzzy=True)
print(timestamp)
# 2020-01-01 00:00:01

六、requests

6.11亿次下载

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

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

import requests

r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
r.status_code
# 200
r.headers['content-type']
# 'application/json; charset=utf8'
r.encoding
# 'utf-8'
r.text
# u'{"type":"User"...'
r.json()
# {u'disk_usage': 368627, u'private_gists': 484, ...}

七、Certifi

近年来,几乎所有网站都开始使用SSL,这一点可以从地址栏中的锁图标看出来,该图标的意思是网站是安全的、加密的,可以避免窃听。

加密基于SSL证书,SSL证书由可信的公司或非营利组织负责签发,如 LetsEncrypt。这些组织会对利用它们的证书对签发的证书进行数字签名。利用这些证书的公开部分,浏览器就可以验证网站的签名,从而证明你访问的是真正的网站,而且别人没有在窃听数据。Python 也可以做到同样的功能,这就需要用到 certifi。它和 Chrome、Firefox 和 Edge 等Web浏览器中包含的根证书集合没有什么区别。Certifi 是一个根证书集合,这样 Python 代码就可以验证SSL证书的可信度。许多项目都信赖并依赖 certifi,可以在这里看到这些项目。这也是为何该项目排名如此高的原因。

延伸阅读

python是什么

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。

Python在各个编程语言中比较适合新手学习,Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。Python丰富的标准库,提供了适用于各个主要系统平台的源码或机器码。

文章标题:python常见的库有哪些,发布者:E.Z,转载请注明出处:https://worktile.com/kb/p/51746

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年5月10日
下一篇 2023年5月10日

相关推荐

  • Java并发,什么是主内存、工作内存

    主内存是Java内存模型的一部分,是多个线程共享的内存区域。Java程序中的每个变量都存储在主内存中。工作内存是每个线程私有的内存区域。每个线程都有自己的工作内存,线程之间不能直接访问对方的工作内存。 主内存 主内存是Java内存模型的一部分,是多个线程共享的内存区域。Java程序中的每个变量都存储…

    2023年5月28日
    12500
  • 为什么调试很重要

    为什么调试很重要:调试是软件开发过程中至关重要的一步,可以找出代码中的错误和问题,并在早期发现和纠正这些问题。调试是指通过对程序、硬件或系统的错误进行定位、分析和修复的过程。调试可以帮助开发人员发现并解决程序中的逻辑错误、语法错误等问题,保证软件的正确性和可靠性。 一、调试的定义 调试是指通过对程序…

    2023年6月3日
    6300
  • 项目流程管理包括哪些内容

    项目流程管理包括:一、项目计划;二、项目执行;三、项目监控;四、项目收尾。项目计划是项目流程管理的关键环节,它是项目管理的基础。项目计划的目的是制定出项目实现的时间表、成本预算、质量标准、风险控制计划等。 一、项目计划 项目计划是项目流程管理的关键环节,它是项目管理的基础。项目计划的目的是制定出项目…

    2023年4月30日
    4200
  • c语言将字符串转换为数字

    在C语言中,将字符串转换为数字是一项常见的任务。本文将解释如何执行此操作,具体涉及以下方面:1、使用atoi函数进行转换;2、使用strtol函数进行转换;3、使用sscanf函数进行转换;4、手动实现字符串到数字的转换。通过这些方法,我们能够灵活地将字符串表示的数字转换为整数或浮点数。 1、使用a…

    2023年8月14日
    7400
  • nlsas硬盘与sas硬盘的区别

    nlsas硬盘与sas硬盘的区别是:NL-SAS是采用了SAS的磁盘接口和SATA的盘体的综合体。SAS是Serial Attach SCSI(串行SCSI)。SAS 向下兼容SATA,SCSI硬盘一般在10Krpm 或15krpm ,而ATA硬盘在7.2Krpm 左右。最初的SAS 1.0标准提供…

    2023年1月31日
    1.7K00
  • 医学图像和自然图像的重要区别有哪些

    医学图像与自然图像主要有:1、来源和目的不同;2、图像特征与内容不同;3、图像处理和分析要求不同;4、显示和存储技术的需求不同;其中,来源和目的不同指的是医学图像主要来源于医疗仪器并用于医疗诊断,而自然图像则多是生活中的普通照片。 1、来源和目的不同 医学图像:主要来源于医疗诊断仪器,如MRI、CT…

    2023年7月30日
    11300
  • C/C++中的static关键字有什么作用

    作用是:1、修饰函数;2、修饰局部变量;3、修饰全局变量。static函数与普通函数作用域不同,仅在本文件。只在当前源文件中使用的函数应该说明为内部函数(static修饰的函数),内部函数应该在当前源文件中说明和定义。 1、修饰函数 static函数与普通函数作用域不同,仅在本文件。只在当前源文件中…

    2023年2月23日
    3900
  • Cuckoohashing主要适合在哪些场景使用

    Cuckoohashing是一种高效的哈希策略,主要用于解决哈希冲突。其主要适用场景有:一、高效缓存系统;二、实时数据库查询;三、网络设备查找表;四、高频率数据存储;五、高度并行的系统;六、节省内存空间的应用;七、应对动态负载。在缓存系统中,快速查找和更新是关键,Cuckoohashing提供了对这…

    2023年4月14日
    11000
  • python有哪些注释方式

    python有以下注释方式:1、单行注释;2、多行注释;3、编码注释;4、平台注释。单行注释是指在Python中,一般的单行注释都是使用的#号开头,它可以在单独的一行代码中使用,或者是放在一个表达式或者是语句之后使用。 1、单行注释 在Python中,一般的单行注释都是使用的#号开头,它可以在单独的…

    2023年1月15日
    21100
  • KL变换和PCA的区别是什么

    KL变换和PCA的区别有:1、定义不同;2、来源背景不同;3、应用场景不同;4、计算方法不同;5、结果解释不同;6、实际效果不同。其中,定义不同指的是,KL变换是基于数据的二次统计特性进行的线性变换,而PCA则是对数据的协方差矩阵进行特征值分解得到的。 1、定义不同 KL变换:也被称为Karhune…

    2023年7月30日
    6600

发表回复

登录后才能评论
联系我们
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部