「Python」22 个最常用的Python包( 四 )
这是一个非常复杂的规范 , 并且某些实现已被证明满是漏洞 。 你可能还会喜欢关于 ASN.1 的这个有趣的 Reddit 帖子 。
https://www.reddit.com/r/programming/comments/1hf7ds/useful_old_technologies_asn1/
一个建议 , 除非你真的需要 , 否则还是敬而远之吧 。 但由于它用在很多地方 , 因此许多包都依赖这个包 。
12 Docutils
下载次数:5.08 亿
Docutils是一个模块化系统 , 用来将纯文本文档处理为很多有用的格式 , 例如 HTML、XML 和 LaTeX 等 。 Docutils能读取reStructuredText格式的纯文本文档 , 这种格式是类似于 MarkDown 的易读标记语法 。
你可能听说过 , 甚至读过 PEP 文档 。
https://www.python.org/dev/peps/pep-0012/
那么什么是 PEP 文档?最早的 PEP 文档 , PEP-1 为我们提供很好的解释:
PEP 的意思是 Python 增强提案 。 一个 PEP 就是一个设计文档 , 用来向 Python 社区提供信息 , 或描述 Python 或其过程或环境的新功能 。 PEP 应该提供该功能的简明技术规范以及功能的原理 。
PEP 文档使用固定的reStructuredText模板编写 , 并使用docutils转换为格式正确的文档 。
Docutils 也是Sphinx的核心 。 Sphinx用于创建文档项目 。 如果Docutils是一台机器 , 则Sphinx就是工厂 。 它最初是为了构建 Python 文档而创建的 , 但其他许多项目也使用它为代码提供文档 。 你可能已经读过 readthedocs.org 上的文档 , 那里的大多数文档都是由Sphinx和docutils创建的 。
13Chardet
下载次数:5.01 亿
你可以用chardet模块来检测文件或数据流的字符集 。 比如说 , 需要分析大量随机文本时 , 这会很有用 。 但你也可以在处理远程下载的数据 , 但不知道用的是什么字符集时使用它 。
安装chardet后 , 你还有一个名为chardetect的命令行工具 , 用法如下:
chardetect somefile.txtsomefile.txt: ascii with confidence 1.0 你还能通过编程方式使用这个库 , 具体参阅文档 。 Chardet是requests等许多包的需求 。 我觉得没有多少人会单独使用chardet , 所以它这么流行肯定是因为这些依赖项 。
https://chardet.readthedocs.io/en/latest/usage.html
14 RSA
下载次数:4.92 亿
rsa包是一个纯 Python 的 RSA 实现 。 它支持:
- 加密和解密
- 签名和验证签名
- 根据 PKCS#1 1.5 版生成密钥
一些事实:
- RSA 是 RonRivest、Adi Shamir 和 Leonard Adleman 三人姓的首字母 。 他们在 1977 年发明该算法 。
- RSA 是最早的公钥密码系统之一 , 被广泛用于安全数据传输 。 在这样的密码系统中 , 有两个密钥:公共部分和私有部分 。 你用公钥加密数据 , 只能用私钥解密数据 。
- RSA 是一种 slow algorithm 。 它很少用于直接加密用户数据 。 通常 , RSA 用于安全传递对称密钥加密的共享密钥 , 这样加密和解密大量数据时会快得多 。
import rsa# Bob creates a key pair:(bob_pub, bob_priv) = rsa.newkeys(512)# Alice ecnrypts a message for Bob# with his public keycrypto = 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 不能确定是 Alice 发送了该消息 , 因为任何人都可以获取并使用他的公钥 。 为证明是她 , Alice 可以用她的私钥在邮件上签名 。 Bob 可以用她的公钥验证此签名 , 确保消息的确是她发送的 。
推荐阅读
- []学会这个最基础的统计学知识,数据分析专业度提升一大截
- ■奶奶大学同学让我别学Python了,吃枣药丸,劝我学汇编,说是时髦
- 「程序员小助手」奶奶大学同学让我别学Python了,吃枣药丸,劝我学汇编,说是时髦
- 『Python』用Python编写FPGA以太网MAC(附源码下载方式)
- 机器之心:几行代码搞定ML模型,低代码机器学习Python库正式开源
- [Python]战“疫”期,阿里云云效团队在家高效开发实录
- 『字符串』Python正则表达式由浅入深(三)
- #CDA数据分析师#2020年软件工程现状:Python或将成为第一大编程语言
- 『excel我帮您』Excel最常用的8个技能
- 2019科技之光@【龙腾网】麒麟处理器和骁龙处理器哪个最好?
