2026-10-26 00:19:17
Python argparse 模块是用于解析命令行参数和选项的标准库,旨在替代已过时的 optparse 模块。 以下是对其核心功能的详细解析:
一、基础使用步骤创建解析对象通过 ArgumentParser() 初始化解析器,可配置程序名称、帮助信息等:
parser = argparse.ArgumentParser(description="程序描述")添加参数使用 add_argument() 定义参数,支持可选参数(如 -f 或 --file)和位置参数(必选):
parser.add_argument("input", help="输入文件路径") # 位置参数parser.add_argument("-v", "--verbose", action="store_true", help="启用详细输出") # 可选参数解析参数调用 parse_args() 解析命令行输入,返回命名空间对象:
args = parser.parse_args()print(args.input) # 访问位置参数if args.verbose: # 检查可选参数 print("详细模式已启用")store: 保存参数值(默认)。
store_true/store_false: 布尔开关。
append: 收集多个值到列表。
运行方式:
python script.py 3 5 -v# 输出: 计算: 3 + 5 = 8示例 2:处理列表参数parser.add_argument("--numbers", nargs="+", type=int, help="输入多个数字")args = parser.parse_args()print(sum(args.numbers))运行方式:
python script.py --numbers 1 2 3 4# 输出: 10四、注意事项参数顺序
位置参数必须按声明顺序输入。
可选参数可任意顺序放置,但需与值紧邻(如 -f value,不可分开)。
冲突处理通过 conflict_handler='resolve' 可智能处理重复参数(如短选项冲突)。
从文件读取参数使用 fromfile_prefix_chars='@' 允许从文件加载参数:
python script.py @args.txt总结:argparse 提供了灵活的命令行参数解析能力,通过合理配置参数类型、动作和帮助信息,可快速构建用户友好的命令行工具。更多细节可参考