我说这些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工具包很实用并且强大,你反对吗?的主要内容,如果未能解决你的问题,请参考以下文章