python argparse

打印 上一主题 下一主题

主题 1521|帖子 1521|积分 4563

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Python argparse 模块利用指南
argparse 是 Python 尺度库中用于构建下令行工具的核心模块,支持参数解析、自动生成帮助信息及错误处理‌。以下是其核心功能和利用方法:
1.底子用法‌
步调‌:
创建解析器‌:通过 ArgumentParser 初始化解析器对象,界说程序形貌信息‌。
import argparse
parser = argparse.ArgumentParser(description="程序形貌")
添加参数‌:
位置参数‌:必须按顺序传递的参数。
parser.add_argument("input_file", help="输入文件路径")
可选参数‌:以 - 或 -- 开头的参数,支持短/长格式‌。
parser.add_argument("-v", "--verbose", action="store_true", help="启用具体模式")
解析参数‌:调用 parse_args() 获取解析结果‌。
args = parser.parse_args()
print(args.input_file)
2.参数类型与设置‌
类型约束‌:通过 type 指定参数类型(如 int、float)‌。
parser.add_argument("--size", type=int, default=10, help="数值巨细")
必需参数‌:设置 required=True 强制用户输入‌。
parser.add_argument("-o", "--output", required=True)
互斥参数‌:通过 add_mutually_exclusive_group() 创建互斥参数组‌。
group = parser.add_mutually_exclusive_group()
group.add_argument("--enable", action="store_true")
group.add_argument("--disable", action="store_true")
3.高级功能‌
子下令‌:利用子解析器实现多级下令(类似 git commit 布局)‌。
subparsers = parser.add_subparsers()
parser_a = subparsers.add_parser("cmd1", help="子下令1")
parser_a.add_argument("--option")
参数动作‌:通过 action 界说参数行为(如 store_true 存储布尔值)‌。
parser.add_argument("--debug", action="store_true")
4.最佳实践‌
清晰的帮助信息‌:为每个参数添加 help 形貌,提拔工具易用性‌。
默认值设置‌:通过 default 提供公道的默认值,淘汰用户输入负担‌。
错误处理‌:依赖 argparse 自动验证参数正当性,避免手动校验‌。
完整示例‌
  1. import argparse
  2. def main():
  3.     parser = argparse.ArgumentParser(description="文件处理工具")
  4.     parser.add_argument("input", help="输入文件路径")
  5.     parser.add_argument("-o", "--output", help="输出文件路径", default="output.txt")
  6.     parser.add_argument("--size", type=int, default=100, help="处理尺寸")
  7.     parser.add_argument("-v", "--verbose", action="store_true", help="详细模式")
  8.     args = parser.parse_args()
  9.     if args.verbose:
  10.         print(f"正在处理 {args.input},输出到 {args.output}")
  11. if __name__ == "__main__":
  12.     main()
复制代码
运行示例‌:
python script.py input.txt -o result.txt --size 200 -v
总结‌
argparse 提供了机动的下令行参数解析本领,适用于从简单脚本到复杂工具的开发。通过公道利用参数类型、子下令和互斥逻辑,可以构建用户友好的 CLI 应用‌。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表