python推荐使用argparse模块解析命令行参数:先创建argumentparser对象,再用add_argument()定义位置/可选参数(支持长短选项、类型校验、约束如choices/nargs),最后parse_args()获取命名空间;复杂工具可用add_subparsers()实现子命令模块化。

Python中解析命令行参数最推荐的方式是使用标准库的argparse模块,它比手动处理sys.argv更清晰、健壮,还能自动生成帮助信息和错误提示。
基础用法:定义一个简单参数
从创建解析器对象开始,添加参数后解析命令行输入:
- 用
argparse.ArgumentParser()初始化解析器 - 调用
add_argument()声明参数(支持位置参数和可选参数) - 调用
parse_args()获取命名空间对象,属性即为参数值
例如,定义一个必需的位置参数filename:
import argparse<br>parser = argparse.ArgumentParser()<br>parser.add_argument('filename', help='输入文件路径')<br>args = parser.parse_args()<br>print(f'处理文件:{args.filename}')
可选参数与短选项
以-或--开头的是可选参数,常用于开关或配置项:
Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言。作为命令语言,它交互式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高级语言中才具有的控制结构,包括循环和分支。它虽然不是Linux系统核心的一部分,但它调用了系统核心的大部分功能来执行程序、建立文件并以并行的方式协调各个程序的运行。因此,对于用户来说,shell是最重要的实用程序,深入了解和熟练掌握shell的特性极其使用方法,是用好Linux系统
立即学习“Python免费学习笔记(深入)”;
-
--verbose或-v可用action='store_true'实现布尔开关 -
--output这类带值的参数需指定type(如int、str)和default - 同时支持长短名:`add_argument('-o', '--output', type=str, default='result.txt')`
参数类型与约束控制
避免运行时类型错误,可在解析阶段就校验输入:
- 用
type=int自动转换并报错非法数字 - 用
choices=[1, 2, 3]限制合法取值范围 - 用
required=True标记该参数必须提供(仅对可选参数有效) - 用
nargs='+'接收一个或多个值,返回列表;nargs='*'可接受零个或多个
子命令与模块化组织
适用于功能较多的工具(如git commit、git push),用add_subparsers()拆分逻辑:
- 先创建子命令解析器:
subparsers = parser.add_subparsers(dest='command') - 为每个子命令添加独立的
add_parser(),再为其添加专属参数 - 解析后通过
args.command判断执行哪个分支
这样主程序结构清晰,各子命令的帮助信息也各自独立显示。









