gpt4 book ai didi

python - 添加既改变行为又存储参数的选项

转载 作者:太空宇宙 更新时间:2023-11-04 06:30:40 27 4
gpt4 key购买 nike

使用 argparse 模块,是否可以对给定参数执行多个操作?

具体来说,我想提供一个带有 nargs='?'-l/--list 选项,它将改变程序的行为,从其主要功能到提供关于一组中所有可能性或关于一种特定可能性的信息。

通常会有一个命名空间属性,其中包含解析后要调用的函数;我希望 -l 选项既可以更改此属性,也可以选择将其参数存储在不同的属性中。

这可能吗?

最佳答案

只需实现您自己的 Action 子类。这基本上看起来像这样:

class ListAction(argparse.Action):
def __call__(parser, namespace, values, option_string=None):
setattr(namespace, 'list', values[0])
do_something_completely_different()

argparse documentation有更多详细信息。

关于python - 添加既改变行为又存储参数的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3276137/

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