当前位置: 首页 > 面试题库 >

传递额外参数的Python argparse自定义操作

吕奇
2023-03-14
问题内容
import argparse

class customAction(argparse.Action):
    def __call__(self, parser, args, values, option_string=None):
       setattr(args, self.dest, values)

parser = argparse.ArgumentParser()
parser.add_argument('-e', '--example', action=customAction)

我想在选项-e触发时将其他参数传递给customAction,例如另一个类的实例。我怎样才能做到这一点?我尝试过的一切都出错了。


问题答案:
def make_action(additional_arg):
    class customAction(argparse.Action):
        def __call__(self, parser, args, values, option_string=None):
            print(additional_arg)
            setattr(args, self.dest, values)
    return customAction
#...
parser.add_argument('-e', '--example', action=make_action('your arg'))


 类似资料:
  • 问题内容: 我有以下功能。WordPress功能,但这实际上是一个PHP问题。它们根据每个对象的元数据中的属性对我的对象进行排序。 我想在第一个函数中传递一个字符串。这将使我可以重复使用此代码,因为我可以将其应用于各种元数据属性。 但是我不明白如何将 额外的 参数传递给usort回调。我试图制作一个JS风格的匿名函数,但是服务器上的PHP版本太旧,并引发了语法错误。 非常感谢您提供的任何帮助-或将

  • 问题内容: 在我的 JSF 2.0 (在 JBoss AS 7上 )项目中,我希望在我的Ajax提交的表单上显示一个在开始和完成阶段触发的小图标状态,以使最终用户知道仍有事情发生。 该primefaces是没有用在这里,因为我想有在我的网页不同的地方很多不同的图标。 我在此问题中找到了一些解决方案:“如何在同一输入中显示不同的ajax状态?”,但是我仍然有一个问题:为了使我的javascript函

  • 问题内容: 我有两个标签,Label1和Label2。我想通过创建两个标签的UITTapRecognizer创建UITTapRecognizer,以使用传递参数的选择器来调用同一个函数,从而使打印出哪个标签的功能单一。下面是完成此操作的漫长方法,虽然比较麻烦,但可以正常工作。如果我知道如何将参数(Int)传递给选择器,那将是一个更干净的选择。 有没有办法修改选择器方法,以便我可以做类似的事情 问题

  • 问题内容: 我有一个函数,将回调函数作为参数,并用一个参数调用它。 我还有一个带有两个参数的函数:和。 我想将函数作为参数传递给,但我也想作为第二个参数()传递给。我怎样才能做到这一点? 问题答案: 只需创建一个包装回调: 或使用ECMAScript 6箭头功能:

  • 问题内容: 如何接受自定义类型查询参数? 上面的行在启动服务器时给出错误 问题答案: 查看有关注入的可接受类型的文档。(这同样适用于所有其他注释) 是原始类型 有一个接受单个String参数的构造函数 有一个名为或的静态方法,该方法接受单个String参数(例如,参见) 已注册ParamConverterProvider JAX-RS扩展SPI的实现,该扩展返回一个ParamConverter实例

  • 问题内容: 当我定义一个自定义类型时,基础类型的类型似乎对我是否可以按原样将其传递给函数还是需要对其进行转换有所不同。 问题是: 为什么和起作用,但不起作用? https://play.golang.org/p/buKNkrg5y- 在这里,当我运行此函数时,它会抱怨,尽管它是基础类型。但是当我打电话或他们成功运行时。 问题答案: 和 您的新类型是2种不同的不同类型。在预期的地方,您必须传递typ