跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Python命令行参数如何解析_argparse实战示例【教学】

Python中解析命令行参数最推荐使用argparse标准库,它比手动处理sys.argv更健壮、易读、可维护,并能自动生成帮助文档和错误提示;支持位置参数、可选参数、短选项、类型检查、取值范围限制、互斥组等特性,且可通过封装函数、nargs、SUPPRESS等方式提升实战灵活性。 Python中解析命令行参数最推荐的方式是使用 标准库 argparse ,它比手动处理
sys.argv
更健壮、易读、可维护,还能自动生成帮助文档和错误提示。 基础用法:定义一个简单参数 比如写一个脚本
hello.py
,支持传入姓名和问候次数:
import argparse parser = argparse.ArgumentParser(description='一个打招呼的小工具') parser.add_argument('--name', type=str, default='World', help='要问候的人名') parser.add_argument('--count', type=int, default=1, help='问候次数') args = parser.parse_args() for _ in range(args.count): print(f'Hello, {args.name}!')
运行示例:
python hello.py --name Alice --count 3
→ 输出三遍 "Hello, Alice!"
python hello.py -h
→ 自动显示帮助信息(含参数说明) 位置参数 vs 可选参数 位置参数没有前缀(如
--
或
-
),必须按顺序提供;可选参数带前缀,可省略或调整顺序。 php版微信js-sdk支付接口类 php版微信js-sdk支付接口类 下载 立即学习 “ Python免费学习笔记(深入) ”; 添加位置参数:
parser.add_argument('filename', help='输入文件路径')
,调用时直接写
python script.py data.txt
短选项支持:
parser.add_argument('-v', '--verbose', action='store_true', help='启用详细输出')
,可用
-v
或
--verbose
常用参数类型与约束 argparse 支持类型检查、取值范围限制、互斥组等实用功能:
type=float
或
type=pathlib.Path
自动转换类型
choices=['A', 'B', 'C']
限定合法值
required=True
标记必填(位置参数默认必填) 用
add_mutually_exclusive_group()
实现“二选一”,比如
--debug
和
--quiet
不能同时出现 实战小技巧 真实项目中建议这样组织: 把参数定义封装成函数,如
def setup_parser():
,便于复用和测试 对复杂参数(如多个文件、JSON 配置路径),用
nargs='*'
或
nargs='+'
接收多个值 通过
default=argparse.SUPPRESS
让未传参的选项不进入
args
命名空间,避免干扰逻辑判断 调试时可临时传入字符串列表测试:
parser.parse_args(['--name', 'Bob'])

相关文章