2024-04-24 07:52:37 发布
网友
我正在寻找一种更好的方法来分配一个集合,如果这个集合不是空的,那么应该使用另一个列表。
如果可能的话,我想要一个更好的方法来写这个(或者一个关于为什么这是最好的方法的争论):
if args.onlyTheseServers: only = set(args.onlyTheseServers) else: only = set(availableServers)
args.onlyTheseServers似乎是来自argparse的变量。
args.onlyTheseServers
argparse
如果是这种情况,您应该检查^{}参数和^{}方法。
下面是一个例子:
>>> import argparse >>> parser = argparse.ArgumentParser() >>> parser.add_argument('--foo', nargs='*', default=['1', '2', '3']) >>> args = parser.parse_args() >>> args.foo ['1', '2', '3'] >>> args = parser.parse_args(['--foo', 'a', 'b']) >>> args.foo ['a', 'b']
only = set(args.onlyTheseServers or availableServers)
看一下前面的question,我想说的是,您真正需要的是使用argparse为丢失的参数分配默认值的方法。在这种情况下,您只需按如下方式使用default:
default
parser.add_argument('-o', '--only', default=default_servers, ...)
这样,当未传递-o/--only选项时,命名空间将正确设置默认值。
-o/--only
args.onlyTheseServers
似乎是来自argparse
的变量。如果是这种情况,您应该检查^{} 参数和^{} 方法。
下面是一个例子:
看一下前面的question,我想说的是,您真正需要的是使用
argparse
为丢失的参数分配默认值的方法。在这种情况下,您只需按如下方式使用default
:这样,当未传递
-o/--only
选项时,命名空间将正确设置默认值。相关问题 更多 >
编程相关推荐