gpt4 book ai didi

python - parse_args 命名空间中不包含 None 值

转载 作者:行者123 更新时间:2023-12-01 07:23:29 25 4
gpt4 key购买 nike

parser = argparse.ArgumentParser(prog='PROG')
parser.add_argument('-x')
parser.add_argument('--foo')
ns = parser.parse_args(['-x', 'X']) # Namespace(foo=None, x='X')

有什么方法可以让 parse_args 避免在返回的命名空间中包含 None 值吗?所以说

vars(ns) == {k:v for k,v in vars(ns).items() if v is not None}

无需手动执行。

最佳答案

是的,添加argument_default=argparse.SUPPRESS ( full doc )

to globally suppress attribute creation on parse_args() calls, we supply 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'])

现在:

>>> ns
Namespace(x='X')

关于python - parse_args 命名空间中不包含 None 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57563483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com