Python开发人员都应该拥有的10个Python库

本文质量一般,可以看看,多数人,使用平常的库足够的。有能力,自己写库,练习与成长

Python开发人员都应该拥有的10个Python库

Python是 一个很好入门的编程语言,现在也很火只要是开发人员都应该多多少少会去学习下python怎么使用,它之所有很火除了语法很自由以为,还有很大量的可以使用的python库,包括本地库和第三方库。然而,由于python库太多了,因此有些很好用的库没有受到太多的关注也就不足为奇了。另外,专门在一个领域工作的小伙伴并不总是知道其他领域的库对有他有什么好处。这里有24个python库,你们可能忽略了,但是绝对值得到关注。它们都非常有用,它简化了从文件系统访问、数据库编码、云服务到构建轻量级Web应用程序、创建GUI以及处理图像、文本和Word文件等等。有些众所周知的,有一些则不太出名,但是所有这些Python库度应该在你们的工具箱中占有一席之位。下面就来一一介绍一下它们。

Apache Libcloud

什么是LibCloud :通过一个单一的、一致的、统一的API访问多个云提供商。比如我们要同时使用阿里云存储和百度云存储,我们都可以用libcloud storage driver规范进行封装,相当于在libcloud中添加了对阿里云存储和百度云存储的支持。libcloud中对其支持的每个云存储,都提供response、rawresponse、connection和storagedriver类。每个云存储相应类都由诸多基类继承而来,能最大限度重用代码,发掘多个云存储间相似之处。

Arrow

Arrow所做的工作 :更简单地处理Python中的日期和时间。

为什么要使用Arrow :处理时区、日期转换、日期格式和所有其他的事情已经让人头疼了一半。在Python的标准库中添加日期/时间工作,您就会有两个头疼的问题。Arrow提供了四大优势。首先,Arrow是Python的datetime模块的替代器,这意味着像.Now()和.utcnow()这样的通用函数调用会像预期的那样工作。第二,Arrow提供了诸如移动和转换时区等常见需求的方法。第三,Arrow提供了“人性化”的日期/时间信息- 比如能够简单的把的前一个小时的时间或者后几个小时的时间等等,而无需付出很大的努力。第四,Arrow可以在不费吹灰之力的情况下本地化日期/时间信息。

Behold

Behold :支持Python中的打印式调试。

为什么要使用Behold :有一种简单的方法可以在Python或几乎所有编程语言中进行调试:插入内联print语句。但是,虽然在小型程序中,打印调试是不需要考虑的,但在大型、杂乱无章的多模块项目中获得有用的结果并不容易。Seek提供了一个工具包,用于通过print语句进行上下文调试。它允许您对输出强加统一的外观,标记结果,以便通过搜索或筛选对结果进行排序,并提供跨模块的上下文,以便在一个模块中正确地调试来自一个模块的函数。查看处理许多特定于Python的常见场景,例如打印对象的内部字典、揭示嵌套属性以及在调试过程中存储和重用结果以便在其他点进行比较。

Black

Black能做的 :根据一组严格且几乎完全不变的规则格式化Python代码。

为什么使用Black :Python代码格式化程序,比如YAPF,倾向于有许多可配置的选项- 行长、行分割选项、尾随逗号的处理等等。黑色为那些不能更改的规则应用了一组一致的默认设置。生成的格式化代码在代码库之间和用户之间尽可能一致,所编辑的文件之间的差异最小。黑色需要一些习惯,特别是当你对垂直空格、带有深度嵌套的语句(例如列表中的列表)和其他格式选项挑剔的时候。但从长远来看,它可以使您不必考虑格式化问题,让您可以集中精力编写代码。

Bottle

什么是Bottle: 轻量级和快速的Web应用程序。

为什么使用Bottle: Bottle是一个Python Web框架,整个框架只有一个文件,几十K,却自带了路径映射、模板、简单的数据库访问等web框架组件,确实是个可用的框架。初学web开发可以拿来玩玩,其语法简单,部署也很方便。

Click

什么是Click :允许您为Python应用程序快速构建命令行接口。

为什么使用Click :GUI很方便,但是CLI才是真正的力量所在。然而,构建健壮的cli并非易事,在Python中收集和使用命令行选项的默认工具集是原始的。单击将这些部分封装在一个高级的CLI构造API中。如果您只想创建一些基本命令,可以使用几行代码来完成。如果您想要更高级的行为,比如单独提示有关参数的更多信息,或者从环境变量中派生值,则Click将介绍您。Click还通过Colama库支持终端颜色,并且可以通过第三方插件进行扩展.

EbookLib

EbookLib是干什么的 :读写.ePUB文件。

为什么要使用EbookLib :创建电子书通常需要对一个命令行工具或另一个命令行工具进行争论。EbookLib提供了简化流程的管理工具和API。它与EPUB 2和EPUB 3文件一起工作,Kindle支持正在开发中。提供图像和文本(后者以HTML格式),EbookLib可以将这些片段组装成一本电子书,其中包含章节、嵌套的目录、图像、HTML标记等等。覆盖、脊柱和样式表数据也都得到了支持。插件系统允许第三方扩展库的行为。如果你不需要EbookLib提供的所有东西,那就试试Mkebar吧。在一个只有几千字节大小的库中,MkePUB封装了基本的电子书组装功能。Mkebar的一个小缺点是它需要Jinja 2,而Jinja 2又需要MarkupSafe库。

Gooey

Gooey能干什么 :为一个基于控制台的Python程序提供一个平台原生GUI。

为什么要使用gooey :向用户,特别是普通用户提供命令行界面是阻止使用应用程序的最佳方法之一。除了铁杆的极客之外,很少有人喜欢找出哪些选项可以传递,以及按什么顺序传递。gooey接受arg解析库所期望的参数,并通过WxPython库将它们以GUI形式呈现给用户。所有选项都使用适当的控件进行标记和显示(例如多选项参数的下拉列表)。假设您已经在使用arg解析,那么几乎不需要额外的编码- 一个包含和一个装饰器-才能使它工作。

Invoke

Lnvoke能干什么 :Pythonic远程执行-即使用Python库执行管理任务。

为什么使用Invoke :使用Python代替普通的shell脚本任务是非常有意义的。Invoke提供了一个高级API,用于运行shell命令和管理命令行任务,就好像它们是Python函数一样,允许您将这些任务嵌入到自己的代码中或围绕它们优雅地构建。只是要小心,不要让不可信的输入以- is传递给任何shell命令。

Nuitka

Nuitka能干什么 :将Python编译成独立的C可执行文件。

为什么使用Nuitka :像Cython一样,Nuitka将Python编译成C。然而,尽管Cython需要自己的自定义语法来获得最好的结果,并且主要关注数学和统计应用程序,Nuitka与任何Python程序一起工作,编译成C,并生成一个文件可执行文件,并在可能的情况下应用优化。Nuitka仍处于早期阶段,许多计划中的优化仍有待完成。尽管如此,它还是一种将Python脚本转换为快速命令行应用程序的方便方法。