首页 > 编程语言 > 详细

Python 命令行参数解析

时间:2020-01-16 22:32:30      阅读:64      评论:0      收藏:0      [点我收藏+]

Python 命令行参数解析

argparse 模块有参数解析器Parser和参数Arguement 结果集Namespace三个基本抽象。

  • Parser
    • 执行解析规则
    • 可以有子解析器(子命令)
  • Arguement
    • 设置参数名称、别名、帮助信息、是否为空
    • Namespace
      • 解析结果

添加参数

新建一个python 文件 test.py, 内容如下:

import argparse
parser = argparse.ArgumentParser(description='k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。', add_help=True)
parser.add_argument("-n", "--namespace", help="操作的namespace。", default=None, required=True)
args_namespace = parser.parse_args()
print(args_namespace)

执行: python test.py -h 结果如下:

usage: test.py [-h] -n NAMESPACE

k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。

optional arguments:
  -h, --help            show this help message and exit
  -n NAMESPACE, --namespace NAMESPACE
                        操作的namespace。

传入一个-n 参数执行命令python test.py -n os?结果如下:

?  /tmp python test.py -n os
Namespace(namespace='os')

添加子命令

新建一个test_subparser.py中加入以下代码:

import argparse
parser = argparse.ArgumentParser(description='k8s助手,主要用来管理Pod,比如查看日志、重启pod、进入pod。', add_help=True)

# dest 参数将子命令的值注册到 args_namespace
subparsers = parser.add_subparsers(dest="operation")
# 添加一个子命令 exec
exec_parser = subparsers.add_parser("exec", help="进入容器。")

# exec_parser 是parser对象,可以添加参数。
exec_parser.add_argument("-n", "--namespace", help="操作的namespace。", default=None, required=True)

args_namespace = parser.parse_args()
print(args_namespace)

执行python test_subparser.py exec -n os? 结果如下:

?  /tmp python test_subparser.py exec -n os
Namespace(namespace='os', operation='exec')

Python 命令行参数解析

原文:https://www.cnblogs.com/oaks/p/12203453.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!