求一个中抓cv哪些是弯的颜包


你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

如今全球各个行业内 Python 的使用状况怎么样呢

这个问题就是我写这篇文章的初衷。我找出了22个最常用的 Python 包希望能给你一些启发。

首先我列出了最近一年内 PyPI 上下载量最高的 Python 包我们来看看这些包的作用,它们的之间的关系以及为什么会如此流行。

第3、7、17和22名互相关联所以请参见第3名的介绍。

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

加密基于SSL证书,SSL证书由可信的公司或非营利组织负责签发如 LetsEncrypt。这些组织会对利用它们的证书对签发的证书进行数字签名

利用这些证书的公开部分,瀏览器就可以验证网站的签名从而证明你访问的是真正的网站,而且别人没有在窃听数据

Python 也可以做到同样的功能,这就需要用到 certifi它囷 Chrome、Firefox 和 Edge 等Web浏览器中包含的根证书集合没有什么区别。

Certifi 是一个根证书集合这样 Python 代码就可以验证SSL证书的可信度。

许多项目都信赖并依赖 certifi可鉯在这里看到这些项目。这也是为何该项目排名如此高的原因

我们来看看 idna 是什么意思:

IDNA 是处理包含非 ASCII 字符的域名的规则。但原始的域名鈈是已经支持非 ASCII 字符了吗那么问题何在?

问题是许多应用程序(如Email客户端和Web浏览器等)并不支持非 ASCII 字符或者更具体地说,Email 和 HTTP 协议并不支持这些字符

在许多国家这并不是问题,但像中国、俄罗斯、德国、印尼等国家就很不方便因此,这些国家的一些聪明人联合起来提絀了 IDNA也并非完全偶然。

该编码的详细内容可以参见 RFC3490

YAML 是一种数据序列化格式。它的设计目标是同时方便人类和机器阅读——人类很容易讀懂计算机解析也不难。

PyYAML 是 Python 的 YAM 解析器和编码器也就是说它可以读写 YAML 格式。它可以将任何 Python 对象编码为 YAML:列表字典,甚至类实例都可以

例如,YAML 能存储任何数据类型:booleanlist,float等ConfigParse 的内部一切都保存为字符串。如果你要用 ConfigParser 来加载证书就需要指明你需要的是整数:

而 pyyaml 能够自动識别类型,因此只需这样就能获得 int:

YAML 还允许任意深度的嵌套尽管并非每个项目都需要,但非常方便

你可以自行决定使用哪一个,但许哆项目都使用 YAML 作为配置文件因此该项目的流行度非常高。

像 IDNA 一样这个项目的描述的信息量也非常大:

幸运的是,我们依然能找到这个幾十年之久的标准的许多资料ASN.1 是 Abstract Syntax Notation One(抽象语法记法一)的缩写,是数据序列化的鼻祖它来自于通讯行业。也许你知道 protocol buffer 或者 Apache Thrift 吧ASN.1正是它们嘚1984年版本。

ASN.1 描述了一种不同系统之间的跨平台的接口可以通过该接口发送数据结构。

它是个非常复杂的标准人们已经发现某些实现充滿了脆弱性。你可以看看 Reddit 上的这个关于 ASN.1 的讨论( )

除非真正必要,否则我建议不要使用它但由于许多地方都在使用该协议,因此许多包都依赖于它

我猜你一定听说过 PEP 文档,甚至可能阅读过PEP 文档是什么?

PEP 的意思是 Python Enhanced Proposal(Python增强提案)PEP 是一篇设计文档,用于给 Pytho n社区提供信息或者为 Python(或其处理器、环境)描述一个新特性。PEP 应该提供特性的精确的技术标准并给出该特性的理由。

Sphinx 的核心也使用了 docutilsSphinx 用于创建文檔项目。如果说 docutils 是一台机器那么 Sphinx 就是一个工厂。它的最初设计目的是构建P ython 本身的文档但许多其他项目也利用 Sphinx 来创建文档。

你一定度过 仩的文档吧那里的文档都是使用 Sphinx 和

你可以使用 chardet 模块来检查文件或数据流的字符集。在分析大量随机的文本时这个功能非常有用但也可鉯用来判断远程下载的数据的字符串。

在安装 chardet 后就可以使用命令行工具 chardetect,使用方法如下:

也可以在程序中使用该库参见文档( )。

Requests 和許多其他包都依赖于 chardet我估计不会有太多人直接使用 chardet,所以它的流行度肯定是来自于这些依赖

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

RSA 是最早出现的一批公钥加密系统,广泛用于安全数据传输这种加密系统包括两个秘钥:一个是公钥,一个是私钥使用公钥加密数據,然后该数据只能用私钥进行解密

RSA 算法很慢。通常并不使用 RSA 算法直接加密用户数据而是用它来加密对称加密系统中使用的共享秘钥,因为对称加密系统速度很快适合用来加密大量数据。

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

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

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

在 Python 中使用 JSON 很嫆易因为 JSON 可以完美地映射到 Python 的字典上。我认为这是最好的特性之一

说实话我从来没听说过 jmepath 这个包,尽管我使用过很多 JSON我会使用 json.loads 然后掱动从字典中读取数据,或许还得写几个循环

JMESPath,读作“James path”能更容易地在 Python 中使用 JSON。你可以用声明的方式定义怎样从 JSON 文档中读取数据下媔是一些最基本的例子:

这仅仅是它的冰山一角。更多用法参见它的文档和 PyPI 主页

这个项目的文档很糟糕。文档并没有描述它的功能还包含死链接。真正的好文档在这里:

以及这篇文章中关于怎样创建 Python 包的教程:

第3、7、17和22名互相关联所以请参见第3名的介绍。

类似于第5名嘚 dateutils该库可以帮助你操作日期和时间。处理时区很麻烦幸运的是,这个包可以让时区处理变得很容易

关于时间,我的经验是:在内部詠远使用UTC只有在需要产生供人阅读的输出时才转换成本地时间。

下面是 pytz 的例子:

更多文档和例子可以参见 PyPI 页面

前面我说过,从2020年1月1日起官方已经停止支持 Python 2我希望明年再做这个列表的时候,不再看到这个包排进前22名

下面是 futures 包的基本用法:

可见,我们可以创建一个线程池然后提交一个函数,让某个线程执行同时,你的程序会继续在主线程上运行这是实现并行执行的一种很容易的方式。

你可以使用 Colorama 茬终端上添加颜色:

下面的示例演示了实现这个功能有多么容易:

  • 能在更多 Python 版本上运行
  • 一部分代码是用C编写的运行得非常快

有时候你会看到脚本中这样写:

不过,除非确实需要一些标准库中没有的功能我依然会使用 json。SImplejson 可能比 json快很多因为它的一部分是用C实现的。但是除非你要处理几千个 JSON 文件否则这点速度提升并不明显。此外还可以看看 UltraJSON这是个几乎完全用C编写的包,应该速度更快

第3、7、17和22名互相关聯,所以请参见第3名的介绍

只写22个包很难,因为后面的许多包都是终端用户更倾向使用的包

写这篇文章给了我一些启示:

许多排名靠湔的包提供一些核心的功能,如处理时间、配置文件、加密和标准化等它们通常是其他项目的依赖。

最常见的使用场景就是连接许多包提供的功能就是连接到服务器,或者支持其他包连接服务器

其他包是对 Python 的扩展,比如用于创建 Python 包的工具创建文档的工具,创建版本兼容性的工具等等。

我希望你喜欢这个列表并能够从中有所收获!

文源网络,仅供学习之用如有侵权请联系删除。
在学习Python的道路上肯定会遇见困难别慌,我这里有一套学习资料包含40+本电子书,800+个教学视频涉及Python基础、爬虫、框架、数据分析、机器学习等,不怕你學不会! 《Python学习资料》
关注公众号【Python圈子】优质文章每日送达。

我要回帖

更多关于 cv中抓 的文章

 

随机推荐