0%

新鲜事儿

交互式源码浏览器 Sourcetrail 开源了

要阅读源码的你可能会感到痛苦,没有一个好用的工具可以让你对代码有一个全局观,并能看到当前代码的上下游依赖关系,Sourcetrai 能很好的满足你的需求。现在,它开源了,几天内就收获了数千 Star。

阅读全文 »

前言

本周开始,每周将会为大家带来“壹周刊”系列,内容主要来自 Awesome Python Newsletter、Python Weekly、PyCoder’s Weekly 和 Planet Python 等。

关于周刊中提到的文章,如果大家对里面的知识点感兴趣,欢迎提出来,我们也可能专门写篇文章进行深度解读。

好了,废话不多说,看正文~

阅读全文 »

前言

在上一篇文章中,我们初步掌握了 click 的简单用法,并了解到它与 argparsedocopt 的不同。接下来,将深入介绍 click 的各类用法,以让你能轻松打造复杂的命令行程序。

在概念上, click 把命令行分为 3 个组成:参数、选项和命令。

  • 参数 就是跟在命令后的除选项外的内容,比如 git add a.txt 中的 a.txt 就是表示文件路径的参数
  • 选项 就是以 --- 开头的参数,比如 -f--file
  • 命令 就是命令行的初衷了,比如 git 就是命令,而 git add 中的 add 则是 git 的子命令
阅读全文 »

前言

在本系列前面几篇文章中,我们分别介绍了 argparsedocopt 的主要功能和用法。它们各具特色,都能出色地完成命令行任务。argparse 是面向过程的,需要先设置解析器,再定义参数,再解析命令行,最后实现业务逻辑。而 docopt 先用声明式的语法定义出参数,再过程式地解析命令行和实现业务逻辑。在一些人看来,这些方式都不够优雅。

而今天要介绍的 click 则是用一种你很熟知的方式来玩转命令行。命令行程序本质上是定义参数和处理参数,而处理参数的逻辑一定是与所定义的参数有关联的。那可不可以用函数和装饰器来实现处理参数逻辑与定义参数的关联呢?而 click 正好就是以这种方式来使用的。

阅读全文 »

本文首发于 HelloGitHub 公众号。

前言

在前面两篇介绍 docopt 的文章中,我们全面了解了 docopt 的能力。按照惯例,我们要像使用 argparse 一样使用 docopt 来实现 git 命令。

为了让没读过 使用 argparse 实现 git 命令 的小伙伴也能读明白本文,我们仍会对 git 常用命令和 gitpython 做一个简单介绍。

阅读全文 »

介绍

Airflow 是一个以编程方式进行编写、调度和监控工作流的平台。
一旦工作流通过代码来定义,它们会变得更加易于维护、版本化、可测试,以及可协作。
使用 Airflow 以有向无环图 (DAGs)的形式编写任务的工作流。Airflow 调度器在满足指定的依赖项的同时,在一组 worker 上执行任务。丰富的命令行实用程序使得通过 DAG 执行复杂的任务变得容易。而通过丰富的界面,用户可以轻松地可视化生产中运行的流水线、监视进度,并在需要时排除故障。

阅读全文 »

(备注:本文是之前在博客园中发表的文章,因为老博客不再维护,把有价值的博文转移到这里。)

最近在网上搜索 Python 和 WMI 相关资料时,发现大部分文章都千篇一律,并且基本上只说了很基础的使用,并未深入说明如何使用 WMI。本文打算更进一步,让我们使用 Python 玩转 WMI。

阅读全文 »

初探

(备注:本文是之前在博客园中发表的文章,因为老博客不再维护,把有价值的博文转移到这里。)

在平时的开发工作中,我们可能会有这样的需求:我们希望有一个内存数据库或者数据引擎,用比较 Pythonic 的方式进行数据库的操作(比如说插入和查询)。

举个具体的例子,分别向数据库 db 中插入两条数据,”a=1, b=1” 和 “a=1, b=2”, 然后想查询 a=1 的数据可能会使用这样的语句 db.query(a=1),结果就是返回前面插入的两条数据; 如果想查询 a=1, b=2 的数据,就使用这样的语句 db.query(a=1, b=2),结果就返回前面的第二条数据。

阅读全文 »