分类: Python

35 篇文章

Python 命令行之旅:初探 click
前言 在本系列前面几篇文章中,我们分别介绍了 argparse 和 docopt 的主要功能和用法。它们各具特色,都能出色地完成命令行任务。argparse 是面向过程的,需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑。而 docopt 先用声明式的语法定义出参数,再过程式地解析命令行和实现业务逻辑。在一些人看来,这些方式都不够优雅。…
Python 命令行之旅:使用 docopt 实现 git 命令
前言 在前面两篇介绍 docopt 的文章中,我们全面了解了 docopt 的能力。按照惯例,我们要像使用 argparse 一样使用 docopt 来实现 git 命令。 为了让没读过 使用 argparse 实现 git 命令 的小伙伴也能读明白本文,我们仍会对 git 常用命令和 gitpython 做一个简单介绍。 本系列文章默认使用 Py…
thumbnail
Airflow 探究
介绍 Airflow 是一个以编程方式进行编写、调度和监控工作流的平台。 一旦工作流通过代码来定义,它们会变得更加易于维护、版本化、可测试,以及可协作。 使用 Airflow 以有向无环图 (DAGs)的形式编写任务的工作流。Airflow 调度器在满足指定的依赖项的同时,在一组 worker 上执行任务。丰富的命令行实用程序使得通过 DAG 执行…
使用 Python 玩转 WMI
背景 (备注:本文是之前在博客园中发表的文章,因为老博客不再维护,把有价值的博文转移到这里。) 最近在网上搜索 Python 和 WMI 相关资料时,发现大部分文章都千篇一律,并且基本上只说了很基础的使用,并未深入说明如何使用 WMI。本文打算更进一步,让我们使用 Python 玩转 WMI。 什么是 WMI 具体请看微软官网对 WMI 的介绍。这…
Python 命令行之旅:深入 docopt
前言 在第一篇“初探 docopt”的文章中,我们初步掌握了使用 docopt 的三个步骤,了解了它不同于 argparse 的设计思路。 那么 docopt 的使用模式都有哪些呢?其接口描述中都支持哪些语法规则呢?本文将带你深入了解 docopt。 本系列文章默认使用 Python 3 作为解释器进行讲解。 若你仍在使用 Python 2,请注意…
Python 命令行之旅:初探 docopt
前言 在本系列前面四篇文章中,我们介绍了 argparse 的方方面面。它无疑是强大的,但使用方式上略显麻烦。需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑。 而今天要介绍的 docopt 则是站在一个全新的视角来审视命令行。你可曾想过,一个命令行程序的帮助信息其实已然包含了这个命令行的完整元信息,那么是否可以通过定义帮助信息来定义命…
聊聊 Python 的单元测试框架(三):最火的 pytest
介绍 本篇文章是《聊聊 Python 的单元测试框架》的第三篇,前两篇分别介绍了标准库 unittest 和第三方单元测试框架 nose。作为本系列的最后一篇,压轴出场的是 Python 世界中最火的第三方单元测试框架:pytest。 pytest 项目地址:https://github.com/pytest-dev/pytest 它有如下主要特性…
聊聊 Python 的单元测试框架(一):unittest
前言 说到 Python 的单元测试框架,想必接触过 Python 的朋友脑袋里第一个想到的就是 unittest。 的确,作为 Python 的标准库,它很优秀,并被广泛用于各个项目。但你知道吗?其实在 Python 众多项目中,主流的单元测试框架远不止这一个。 本系列文章将为大家介绍目前流行的 Python 的单元测试框架,讲讲它们的功能和特点…
Python 命令行之旅:使用 argparse 实现 git 命令
前言 在前面三篇介绍 argparse 的文章中,我们全面了解了 argparse 的能力,相信不少小伙伴们都已经摩拳擦掌,想要打造一个属于自己的命令行工具。 本文将以我们日常工作中最常见的 git 命令为例,讲解如何使用 argparse 库来实现一个真正可用的命令行程序。 本系列文章默认使用 Python 3 作为解释器进行讲解。 若你仍在使用…