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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
E.ZE.Z认证作者
上一篇 2023年5月10日
下一篇 2023年5月10日

相关推荐

  • 甘特图怎么用

    以Project为例,甘特图的用法:一、使用任务列表;二、使用图表;三、移动甘特条。使用任务列表是指,可以在甘特图视图左侧的网格部分中列出每个项目的任务,然后将它们组织成摘要任务和子任务的层次结构。 一、使用任务列表 可以在甘特图视图左侧的网格部分中列出每个项目的任务,然后将它们组织成摘要任务和子任…

    2023年2月22日
    85600
  • 项目书团队协作怎么写

    写项目书团队协作的步骤:一、明确项目目标和任务;二、建立有效的沟通渠道;三、鼓励团队合作;四、设定清晰的角色和责任;五、制定有效的决策机制;六、建立有效的工作流程;七、定期评估和反馈。在项目启动阶段,项目经理需要明确项目目标和任务。 一、明确项目目标和任务 在项目启动阶段,项目经理需要明确项目目标和…

    2023年4月27日
    1.3K00
  • KDD Cup中Public Leaderboard 和Private Leaderboard的区别

    KDD Cup中Public Leaderboard和Private Leaderboard的区别有:1、定义不同;2、作用不同。定义不同是指Public Leaderboard是在比赛期间公开展示的排行榜,而Private Leaderboard是在比赛结束后才公布的排行榜。 一、KDD Cup中…

    2023年4月4日
    43300
  • oa是什么意思呀

    OA通常代表“办公自动化(Office Automation)”,指用计算机及网络设备代替传统的手工办公,提高工作效率;1、广泛应用于文件制作、信息处理、数据管理等场景;2、企业中的应用促进了信息化管理进程。详细阐述1,办公自动化技术涵盖了文本处理、电子邮件、即时通讯、视频会议和电子文档管理等功能,…

    2024年1月11日
    20900
  • sketch up是用什么语言编写

    SketchUp是一款功能强大的3D建模软件,它的开发始于2000年,原名为SketchUp,后被Google收购,现在由Trimble公司维护。SketchUp之所以能够成为目前广泛使用的3D建模工具之一,与其所采用的编程语言密不可分。那么,SketchUp究竟是用什么语言编写的呢?本文将对此进行…

    2023年3月1日
    77900
  • 国内有哪些好的java开源电子商城系统

    java开源电子商城系统有:1、mall4j商城系统;2、mall4cloud微服务商城;3、Zscat-me;4、Javashop-B2C单店商城;5、猫宁Morning公益商城。mall4j商城系统基于spring boot、spring oauth2.0、mybatis、redis的轻量级、前…

    2023年2月7日
    1.5K00
  • 敏捷管理的核心是什么

    敏捷管理的核心有以下几点:1、响应变化;2、⼯作产品;3、客户合作;4、个⼈和交互。敏捷企业的管理与传统管理不同,敏捷管理的支点是充分利用“机遇、人员和信息”的杠杆作用,其主要特点体现于管理职责,管理目标和管理手段的某些变化中。 1、响应变化 实际上是在执⾏计划之上响应变化。每个项⽬都有已知的和未知…

    2022年11月16日
    78400
  • devops的ops是什么意思

    摘要 DevOps中的”Ops”代表运维(Operations),聚焦于软件开发生命周期后期的任务,如部署、监控与维护。它致力于将开发(Dev)与运维(Ops)的壁垒拆除,促进更高效、更快速的软件交付流程。1、促进自动化流程是其核心观点之一。自动化在运维阶段表现为代码部署、测…

    2024年3月26日
    1000
  • 图书销售管理系统的设计与实现

    图书销售管理系统是一种以信息化手段管理图书销售全程的工具,通过电子计算机技术实现图书库存管理、销售流程控制、财务清算和客户服务。该系统通常包括1、用户权限管理、2、图书库存管理、3、销售流程控制、4、财务清算管理、5、报表统计、6、客户服务等部分。在图书库存管理部分,系统能够有效追踪图书的存量状况,…

    2024年1月9日
    32600
  • 鹤煤公司自动化办公网

    标题:鹤煤公司自动化办公网 摘要:鹤煤公司自动化办公网主要解决了信息集成、流程优化与办公效率提升三大需求。1、信息集成:通过技术手段将各个部门的信息资源进行统一管理和共享。2、流程优化:利用办公自动化系统,优化了公司内部的工作流程,减少了手工操作的环节。3、办公效率提升:自动化办公网极大降低了办公成…

    2024年1月12日
    20500

发表回复

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

400-800-1024

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

分享本页
返回顶部