python程序员常用的6个库

  在编程时,小挫折可能与大难题一样令人痛苦。没人希望在费劲心思之后,只是做到弹出消息窗口或是快速写入数据库。因此,程序员都会喜欢那些能够快速处理这些问题,同时长远来看也很健壮的解决方案。

  下面这6个python库既可以快速解决眼前的棘手问题,同时也能够作为大型项目的基础。

 pyglet

  是什么:pyglet是一个纯python语言编写的跨平台框架,用于开发多媒体和窗口特效应用。

  为什么需要它:从头开发图形界面应用所需要的功能模块是十分繁琐的,pyglet提供了大量现成的模块,省去了很多的时间:窗口函数,opengl特效,音频与视频回放,键鼠处理以及图片处理。(不过,pyglet并没有提供类似按钮、工具栏或菜单等ui部件。)

  所有上述模块都是在windows、os x或linux平台下原生实现的,并不依赖外部二进制包;它是纯python语言编写的。pyglet通过bsd协议发布,可以用于任何商业和开源项目。

 peewee

  是什么:peewee是一个小型但是十分强大的库,支持通过orm的方式访问数据库,原生支持sqlite、mysql和postgresql等数据库。

  为什么需要它: 任何一个需要经常使用外部数据的应用基本都会用到数据库,但是通过临时连接从数据库中读写数据会带来很多麻烦。

  peewee提供了一条访问数据库资源的安全、稳定的通道。对于python程序员和数据库工程师来说,该库所提供的python类使用起来将会得心应手。有了peewee的支持,我们可以快速便捷地访问数据库,后续还可以扩展加入更多的选项,不需要重新设计。peewee同时原生支持数据库事务(transaction),并有许多可选的额外模块,提供了从数据库连接池(connection pooling)到类似多对多(many-to-many)的高级field类型等功能。

 bottle

  是什么: bottle是一个小型的轻量网络开发框架,同时速度也很快。

  为什么需要它: 如果你只是想快速创建一个restful api接口,或者只想用网络开发框架的做一个简单的应用,bottle可以轻松地满足你的要求。它具备了你将需要的所有功能:路由、模板、访问请求与响应数据(request and response data)、支持多种网络服务器以及websockets等高级功能。

  创建一个应用所需的工作极少,而且bottle在设计时就考虑了可扩展性,如果需要更多高级功能,随时就可以接入。

 invoke

  是什么:简单来说,invoke让你通过一个python库便捷地执行系统管理任务。

  为什么需要它: 谁不想要一个“可以运行shell命令、定义并归类执行任务的简洁、高级接口”呢?利用python替代一般的shell脚本,并执行相应的任务,是完全合理的。invoke提供了执行常见命令行任务并进行管理的解决方案。对于invoke来说,每个管理任务就像是python函数一样,可以在此基础上优雅地设计更为复杂的任务。

  需要注意的是,invoke当前仍是预览版;如果你想使用稳定的工具(即使是不再积极开发),可以考虑invoke的前身——fabric。

 splinter

  是什么:splinter是一个自动化测试网络应用的python库。

  为什么需要它: 大家都知道,没有什么比自动化网络应用测试更无聊的事了。有了splinter,就可以将打开浏览器、输入url、填写表单、点击按钮等全部操作自动化。

  特定的浏览器需要使用相应的驱动器(drivers),不过还好已经自带了chrome和firefox驱动器。另外,splinter还可以通过selenium remote来远程控制其他机器上的浏览器。你甚至可以在目标浏览器中手动执行javascript代码。

  如果你想知道某个浏览器在浏览指定网站时的具体情况,那么splinter将是一个很有用的工具。如果想了解不依赖浏览器与网站进行交互,可以查看twill。(译者:twill是一种脚本语言,支持用户通过命令行浏览网络。)

 arrow

  是什么:arrow这个库可以更好地处理python中的日期和时间(data/time)。

  为什么需要它: 处理时区、日期转换、应对不同的日期格式以及其他日期相关的东西,足够让你头疼一天半的。如果使用python自带标准库中的模块,那么估计你得头疼两天了。

  改用arrow库的话有四大好处,不管长期还是短期都是很有用的。第一,它可以完美替代python中的datetime模块,这意味着你仍可以使用类似.now()和.utcnow()这些常见的函数调用形式。第二,它提供了满足转换时区等常见需求的方法。第三,它提供了“人性化”的日期/时间信息——也就是,它可以很轻松地告诉你某件事是在“一小时以前”发生的,或是“将在两小时后”发生。第四,它很容易地将日期/时间信息转换为当地时间。

以上就是python程序员常用的6个库的详细内容,更多请关注 第一php社区 其它相关文章!

Posted in 未分类

发表评论