python命令行参数作用_Python 命令行参数解析

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')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值