系列文章目录
【Python CLI】第一章 CLI 应用程序介绍
【Python CLI】第二章 命令解析
【Python CLI】第三章 格式化输出
【Python CLI】第四章 程序控制台
前言
在第一章中已经介绍过 CLI 命令格式的相关问题,在这一章内,主要介绍如何使用 Python 完成命令解析模块的编写
一、命令解析的思路
python 的 sys 模块是python程序与解析器进行交互的模块,能获取程序运行时解释器使用的一些变量,同时sys模块中还提供了一部分可以和解释器进行比较深度交互的函数。
通过 sys 模块的 argv 属性,可以获取程序在运行时命令行中的参数列表。通过对这个列表的分析,可以实现命令解析的功能。
参考官方文档:sys.argv
二、命令解析库
1. argparse
argparse 是 python 的一个标准库,可以参考 官方文档。
argparse 的使用十分简单,分为以下几步:
- 实例化 ArgumentParser (参数解析器)对象
- 为参数解析器添加选项和参数
- 解析参数,获取 Namespace 对象
- 依据 Namespace 对象的属性控制程序的运行。
TODO: argparse 模块使用参考文章,完成后附链接
2. getopt
getopt 是 Python 的一个标准库,提供了C 风格的命令行选项解析器。但使用起来相对麻烦,不推荐使用,详情参考 官方文档。
没有写 getopt 模块使用参考文章的计划
3. 第三方库
python 提供命令行接口的第三方库有: click, typer, fire。由于我暂时没有使用过,在后期使用过之后进行补充。
总结
这一帐主要介绍了 Python 解析命令行参数的思路,以及一些相关库。