我说这些Python工具包很实用并且强大,你反对吗?

Posted 日常分享Python

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我说这些Python工具包很实用并且强大,你反对吗?相关的知识,希望对你有一定的参考价值。


Python 拥有海量的包,无论是普通任务还是复杂任务,我们经常在应用程序中使用大量的工具包。
这里总结了10个工具包,希望可以帮助到正在学Python的你。

1.Urllib3

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

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

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

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

2.Faker

生产环境通常具有实时数据。把它放到测试环境中并不容易。我们必须对从生产到测试环境的数据进行标记化,这通常会将数据转换为乱码。

此外,在欺诈行业,我们需要找出欺诈身份。为了生成假PII(个人可识别信息),这里使用了一个名为Faker的包,这是一个很酷的软件包,可以让你创建一个带有地址、名字等的假PII。

在这里插入图片描述

2.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了。

3.Pip

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

关于 pip 的趣事:

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

4.requests

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

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

importrequests

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, ...}

5.Pywebio

我们知道 Flask 适用于 Python 端的表单、UI 和 restapi。然而,如果想要一个简单的表单,Flask就不太适用了。通常用 Pywebio 来创建,它会创建了一个简单、干净的UI。

所有的代码都是用普通的python编写的,并且我们不用额外学新东西!
  在这里插入图片描述在几秒钟内,它转换为一个前端 UI 网页。我们还可以编写一些会话并处理输入和输出,查看他们的文档以获取详细信息。

6.Airflow

Airflow 它是一种工作流管理工具,在 MLOPS 中经常被低估和较少使用,它还可以用于特定的执行间隔、重新训练模型、批处理、网站抓取、投资组合跟踪、自定义新闻提要等。

在工作流程方面,选项是无限的,它还可以连接到特定服务的云服务商。代码可以用 python 写,在 UI 上可以看到执行,非常棒。工作流也可以按特定时间间隔进行安排。

7.Loguru

Logger 是调试应用程序的最佳方法之一。但是,logger 里面的日志太多了,让人比较烦。

而 Loguru 在某种程度上就比较友好,它虽不能解决所有挑战,但是它很容易添加日志语句并为其添加更多调试。

在这里插入图片描述
它还有助于拆分文件并执行清理,因此我们不需要查看所有历史日志。
在这里插入图片描述
你还可以使用参数 backtrace 来回溯执行。

简而言之,在生产环境中使用这个包来调试应用程序或 AI 模型训练是值得的。

8.Pydash

通常在数据清洗或处理中,我们要处理大量的数据清洗。这些是一些较小的项目,需要时间。例如,如何展平列表?当然,你可以写一个清单,但是如果有一个快速功能来执行这些操作呢?

这就是Pydash闪耀的地方,它成为了我的快速转到库,其中包含一系列python实用程序。
  在这里插入图片描述
以上只是一个小例子,它包含很多功能,绝对值得一看。

9.PyCaret

PyCaret 包可以简化许多编码,当想快速做某件事情时可以使用。这个包有很多关于默认参数的选项,可以用不同的度量点运行不同的模型。
  在这里插入图片描述

10.RSA

Rsa是 RSA 的纯 Python 实现。它支持如下功能:

  • 加密和解密
  • 签名和签名验证
  • 根据 PKCS#1 version 1.5生成秘钥

它可以作为 Python 库使用,也可以在命令行上使用。

  • RSA 名称中的三个字母来自于三个人的姓:Ron Rivest,Adi Shamir,和Leonard Adleman。他们于1977年发明了该算法。
  • RSA是最早出现的一批公钥加密系统,广泛用于安全数据传输。这种加密系统包括两个秘钥:一个是公钥,一个是私钥。使用公钥加密数据,然后该数据只能用私钥进行解密。
  • RSA 算法很慢。通常并不使用 RSA算法直接加密用户数据,而是用它来加密对称加密系统中使用的共享秘钥,因为对称加密系统速度很快,适合用来加密大量数据。

下面 代码演示了 RSA 的使用方法:

importrsa

# Bob creates a key pair:

(bob_pub, bob_priv) = rsa.newkeys( 512)

# Alice ecnrypts a message for Bob

# with his public key

crypto = rsa.encrypt( hello Bob! , bob_pub)

# When Bob gets the message, he

# decrypts it with his private key:

message = rsa.decrypt(crypto, bob_priv)

print(message.decode( utf8 ))

# hello Bob!

假设 Bob 拥有私钥 private,Alice 就能确信只有 Bob 才能阅读该信息。

但 Bob 并不能确信 Alice 是信息的发送者,因为任何人都可以获得 Bob 的公钥。为了证明发送者的确是 Alice,她可以使用自己的私钥对信息进行签名。Bob 可以使用 Alice 的公钥对签名进行验证,来确保发送者的确是 Alice。

许多其他包都依赖于 rsa,如 google-auth,oauthlib,awscli。这个包并不会经常被直接使用,因为有许多更快、更原生的方法。

总结

以上这些这不是一份详尽的清单,如果大家有使用其他软件包,可以在评论区一起分享交流哦!

下面是我整理的一些学习资料
Python学习路线
Python自学视频
300本电子书加学霸笔记
100个游戏源码、项目案例
Python安装包以及教程和激活码
君羊号:【881744585】获取

这都是我总结出来的宝贝,给需要的小伙伴,希望大家的努力都不负所望。
在这里插入图片描述

以上是关于我说这些Python工具包很实用并且强大,你反对吗?的主要内容,如果未能解决你的问题,请参考以下文章

android开发实用工具

Underscore.js-精巧而强大实用功能库

分享!6款简单实用的Python编程环境

我说这是最牛b的自动化测试框架之一,应该没有人反对吧基于Selenium+Python的web自动化测试框架

实用工具集锦(持续更新)

大学期间学习编程的学习网站/实用工具——这些私藏的东西,瞬间提高你的工作效率