qwr*_*qwr 6 python argparse nonetype
parser = argparse.ArgumentParser(prog='PROG')
parser.add_argument('-x')
parser.add_argument('--foo')
ns = parser.parse_args(['-x', 'X']) # Namespace(foo=None, x='X')
Run Code Online (Sandbox Code Playgroud)
有没有办法避免parse_args在返回的命名空间中包含 None 值?以便
vars(ns) == {k:v for k,v in vars(ns).items() if v is not None}
Run Code Online (Sandbox Code Playgroud)
无需手动操作。
Jea*_*bre 10
是的,添加argument_default=argparse.SUPPRESS(完整文档)
为了全局抑制 parse_args() 调用上的属性创建,我们提供 argument_default=SUPPRESS:
import argparse
parser = argparse.ArgumentParser(prog='PROG',argument_default=argparse.SUPPRESS)
parser.add_argument('-x')
parser.add_argument('--foo')
ns = parser.parse_args(['-x', 'X'])
Run Code Online (Sandbox Code Playgroud)
现在:
>>> ns
Namespace(x='X')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1372 次 |
| 最近记录: |