Python之argparse
argparse
模块可以轻松编写用户友好的命令行界面。该程序定义了它需要的参数,argparse
并将找出如何解析这些参数sys.argv
。argparse
模块还会自动生成帮助和用法消息,并在用户给出程序无效参数时发出错误
示例
1.下面的代码是一个 Python 程序,它接受一个整数列表并产生总和或最大值:
import argparse parser = argparse.ArgumentParser(description='Process some integers.') # 创建对象 parser.add_argument('integers', metavar='N', type=int, nargs='+', help='an integer for the accumulator') # 添加参数 parser.add_argument('--sum', dest='accumulate', action='store_const', const=sum, default=max, help='sum the integers (default: find the max)') args = parser.parse_args() print args.accumulate(args.integers)
假设上面的 Python 代码保存在一个名为的文件中prog.py
,它可以在命令行运行并提供有用的帮助信息:
$ python prog.py -h usage: prog.py [-h] [--sum] N [N ...] Process some integers. positional arguments: N an integer for the accumulator optional arguments: -h, --help show this help message and exit --sum sum the integers (default: find the max)
当使用适当的参数运行时,它会输出命令行整数的总和或最大值:
$ python prog.py 1 2 3 4 4 $ python prog.py 1 2 3 4 --sum 10
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,携手博客园推出1Panel与Halo联合会员
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次 .NET某固高运动卡测试 卡慢分析
· 微服务架构学习与思考:微服务拆分的原则
· 记一次 .NET某云HIS系统 CPU爆高分析
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 博客园2025新款「AI繁忙」系列T恤上架
· Avalonia跨平台实战(二),Avalonia相比WPF的便利合集(一)
· C# LINQ 快速入门实战指南,建议收藏学习!
· Redis实现高并发场景下的计数器设计
· 上周热点回顾(4.7-4.13)