极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班



极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班

Peewee

peewee logo

是什么Peewee是一个小型但是十分强大的库,支持通过ORM的方式访问数据库,原生支持SQLite、MySQL和PostgreSQL等数据库。

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

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

Bottle

bottlepy logo

是什么: 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()这些常见的函数调用形式。

第二,它提供了满足转换时区等常见需求的方法。第三,它提供了"人性化"的日期/时间信息――也就是,它可以很轻松地告诉你某件事是在"一小时以前"发生的,或是"将在两小时后"发生。第四,它很容易地将日期/时间信息转换为当地时间。

文章出处:CODINGPY


Read full article from 极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts