用 Plumbum 开发 Python 命令行工具 (linux.cn)

【简介】

本文翻译自 Python Plumbum 开源库的官方文档 Plumbum CLI 部分,主要介绍如何使用 Plumbum CLI 工具包来开发 Python 命令行应用程序,这是一个非常 Pythonic、容易使用、功能强大的工具包,非常值得广大 Python 程序员掌握并使用。

轻松执行程序的另一方面是轻松编写 CLI 程序。Python 脚本一般使用 optparse 或者最新的 argparse 及其衍生品来开发命令行工具,但是所有这些表现力有限,而且非常不直观(甚至不够 Pythonic)。Plumbum 的 CLI 工具包提供了一个程序化的方法来构建命令行应用程序,不需要创建一个解析器对象,然后填充一系列“选项”,该 CLI 工具包使用内省机制将这些原语转义成 Pythonic 结构。

点击查看原文 >>

@技术头条 2018-07-04 23:55 / 原作者微博:@Linux中国 / 0个评论
赞过的人: @技术头条
要不要再学学下面的文章?
Linux 安全 Auditd 审计工具使用说明 (dusays.com)
本文介绍了 Linux 的 Auditd 审计工具,用于监控和记录安全相关事件。内容涵盖工具安装、审计规则配置、日志管理和规则持久化。审计规则包括文件、系统调用的监控,适合检测敏感操作。通过 `auditctl`、`ausearch` 和 `aureport` 等工具,管理员可以分析日志并生成报告,提升系统的安全性和合规性。
by @技术头条 2024-11-02 16:54 查看详情
StarRocks 开发环境搭建踩坑指北 (crossoverjie.top)
本文详细介绍了在本地搭建 StarRocks 开发环境的步骤,包括启动前端(FE)和后端(BE)的配置及调试方法。通过本地启动 FE 并使用 Docker 运行 BE,实现了本地调试和测试。作者分享了常见问题解决方案,如端口冲突和网络配置问题,为 StarRocks 开发环境搭建提供了实用指南。
by @技术头条 2024-11-02 16:42 查看详情
基于 Docker 搭建开发环境(三):链路追踪 (www.diguage.com)
本文介绍了通过 Docker 配置 OpenTelemetry 和 Jaeger,实现分布式链路追踪。详细讲解了如何使用 OpenTelemetry Agent 和 Collector 配置尾部采样策略,识别慢请求和错误。结合 Prometheus 和 Grafana,构建全面的监控和追踪系统。提供了具体的 `docker-compose.yml` 配置文件示例,适合需要全链路可观测性的分布式应用开发环境。
by @技术头条 2024-11-02 16:34 查看详情
基于 Docker 搭建开发环境(二):EFK 日志套件 (www.diguage.com)
本文介绍了如何使用 Docker 和 EFK(Elasticsearch、Fluentd、Kibana)套件构建日志管理系统,通过 Fluentd 将 NACOS 和业务日志集中发送至 Elasticsearch,方便数据分析和故障排查。文章提供了 `docker-compose.yml` 配置文件示例,解决了插件安装、权限设置和健康检查等常见问题,为构建灵活高效的日志管理系统提供了实用方法。
by @技术头条 2024-11-02 16:33 查看详情
基于 Docker 搭建开发环境(一):数据库+监控 (www.diguage.com)
本文介绍了使用 Docker 构建开发环境的步骤,涵盖 MySQL 数据库配置、Nacos 服务发现与配置管理、Prometheus 监控及 Grafana 可视化。通过 Docker Compose 结构化配置,实现了多组件集成。文章提供了详细的 `docker-compose.yml` 文件示例,并探讨了自动接入监控、应用打包等优化方向,适用于需要集中管理多项开发工具的场景。
by @技术头条 2024-11-02 16:33 查看详情
浅谈 GUI 应用开发 (zgq.me)
本文深入探讨了 GUI 应用开发中的关键问题,从状态管理、生命周期到交互模式等多个角度分享了开发经验。无论你是前端开发者还是产品设计师,这篇文章都能为你在 GUI 开发中提供实用的见解和技巧。赶紧阅读,提升你的应用开发水平吧!
by @技术头条 2024-09-09 23:37 查看详情
USB 设备开发:从入门到实践指南(三) (paper.seebug.org)
本文深入研究了Nintendo手柄驱动在Linux系统中的实现细节,并解决了一些关于USB HID和input驱动的疑问。
by @技术头条 2024-08-06 08:27 查看详情
USB 设备开发:从入门到实践指南(二) (paper.seebug.org)
本文介绍了如何利用树莓派设备模拟USB鼠标和游戏手柄。文章从修改HID描述符开始,详细说明了如何通过调整bash脚本中的协议配置模拟不同的USB设备。在模拟鼠标时,作者修改了协议为鼠标,调整了HID描述符以支持鼠标的左右键、中键、滚轮等功能。接着,在模拟游戏手柄部分,作者通过设定正确的供应商和产品ID,使设备被识别为XBox 360手柄。文章还探讨了如何动态修改Ubuntu驱动来支持Switch手柄。

在研究过程中,作者分析了USB HID协议,使用eBPF和调试输出方式研究Linux内核驱动代码,探索了手柄的各种功能键和坐标轴的实现。此外,作者对Switch Pro手柄的驱动支持问题进行了深入分析,发现需要特定协议的支持,并提供了解决方案。
by @技术头条 2024-08-06 08:26 查看详情
USB 设备开发:从入门到实践指南(一) (paper.seebug.org)
这篇文章介绍了使用树莓派4B设备进行USB设备开发的经验。作者从研究工具、搭建开发环境、分析USB协议等多个角度详细描述了如何将树莓派模拟成一个USB键盘,并通过Wireshark捕获流量以研究和理解USB协议的工作原理。文章提供了具体的操作步骤和代码示例,并深入探讨了设备描述符、配置描述符、接口描述符、端点描述符等USB协议的关键组件。该文章为USB设备开发提供了实用的指导,适合对底层硬件开发感兴趣的开发者参考。
by @技术头条 2024-08-06 08:25 查看详情
现代Python CRUD技术栈 (farer.org)
作为一名资深Python CRUD boy,在今天用flask和django干这些体力活已经稍显过时,flask这些年来功能并没太大进步,想用什么还是得自己折腾,在工程化方面比较考验开发者的个人素养。而django的虽然功能完善,但它的笨重在需要深度定制时,又显得束手束脚。
by @技术头条 2024-05-05 23:18 查看详情