python对象属性ArgumentParser,Namespace

作者: Each+ Apollo

1. ArgumengParser

1.1. 作用

分配属性,可以从python执行命令参数中获取

1.2. 导包
# python
from argparse import ArgumentParser
1.3. 参数

ArgumentParser(prog=None)

  • prog:显示的程序名,不填则默认是文件名
1.4. 属性
1.4.1. add_argument(*args, **kwargs)

声明创建属性的规则

参数

  • 第一个参数: 必填,键名,格式:"-a"或"–a"
  • dest: 非必填,参数名重置为
  • default: 非必填,默认值
  • type: 非必填,参数类型
  • choices: 非必填,可选值,格式:列表,元组
  • required: 非必填,是否必填,默认False
  • namespace: 非必填,分配属性的对象
  • help: 非必填,说明文字

举个栗子

# python
b = B()
parser = ArgumentParser()
parser.add_argument('--foo', dest='jjj', type=str, required=True)
parser.add_argument('-env', choices=['test', 'prod'])
1.4.2. parse_args(args=None, namespace=None)

将参数转为对象,并将属性分配给命名空间

参数

  • args:非必填,赋值列表,必须一一对应
  • namespace: 非必填,分配属性的对象

举个栗子

1.代码行分配

# python
a = parser.parse_args(['--foo', 'werw', '-env', '234'])
print(a.env)
# 输出 234

b = B()
parser.parse_args(['--foo', 'werw', '-env', '234'], namespace=b)
print(b.env)
# 输出 234

2.启动命令分配

# linux
python3 test.py --foo='www' -evn='234'

2. Namespace 命名空间

2.1. 作用

创建一个包含属性的对象,返回该对象

2.2. 导包
# python
from argparse import Namespace
2.3. 用法
# python
a = Namespace(env='test', level=2)
print(a.evn)
# 输出 test
print(a.level)
# 输出 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值