我可以使用对象的单击命令,使用继承来删除重复代码吗?

马丁·托马

如果您查看我的lidtk存储库,尤其是分类器,您会发现以下文件几乎相同(当前版本,以防将来修复):

  • cld2_mod.py
  • langdetect_mod.py
  • langid_mod.py
  • 文本猫.py

他们都继承自lidtk.LIDClassifier,他们都有命令

Usage: lidtk <<module name>> [OPTIONS] COMMAND [ARGS]...

  Use the <<module name>> language classifier.

Options:
  --help  Show this message and exit.

Commands:
  get_languages
  predict          
  print_languages
  wili             
  wili_k           
  wili_unk         

是否可以删除重复的点击代码?我想使用继承来消除重复的代码。

fpbhb

快速浏览一下你的 repo,我认为你想要的是这样的:

import click

def group_factory(group, name, params):
    """This creates a subcommand 'name' under the existing click command
    group 'group' (which can be the main group), with sub-sub-commands
    'cmd1' and 'cmd2'. 'params' could be something to set the context
    for this group.
    """

    @group.group(name=name)
    def entry_point():
        pass

    @entry_point.command()
    @click.option("--foo")
    def cmd1(foo):
        print("CMD1", name, params, foo)

    @entry_point.command()
    @click.option("--bar")
    def cmd2(bar):
        print("CMD2", name, params, bar)

    return entry_point

您可以将 的返回值group_factory用作一组不同脚本中的主要入口点:

if __name__ == "__main__":
    ep = group_factory(click, "", "something")
    ep()

...或者您可以使用group_factory不同名称(和不同的params在某些顶级命令下重复构建相同的子命令层次结构

@click.group()
def cli():
    pass

group_factory(cli, "a", 1)
group_factory(cli, "b", 2)
group_factory(cli, "c", 3)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我可以使用distinctUntilKeyChanged来删除重复的对象吗?

可以使用继承来减少C ++中已编译代码的大小吗?

我们可以使用继承来实现链接列表吗?

我可以使用循环变量或数组来减少我的代码吗

我们可以使用从WinForms控件继承的对象作为.NET Hashtable的键吗?

我可以使用命令提示符来控制连接的设备吗?

我可以使用wix安装程序来运行几个自定义命令吗

我可以使用@Autowire注释继承的最终属性吗?

DDD(域驱动设计)我可以使用继承吗?

我可以使用已经编写的Jmh微基准来预热生产代码吗

我们可以使用尝试来解码霍夫曼代码吗

可以使用宽松的存储命令来观察状况吗?

我可以使用ʻobj.constructor === Array`来测试对象是否为Array吗?

我可以使用R中的字符来选择数据框或其他对象吗?

我可以使用基于noSQL的文档来存储json对象吗?

我可以使用 mule 对象存储来持久化 HTTP 连接吗?

我可以使用字典来调用从同一类继承的不同类的方法吗?

我可以使用什么代替“ case of”来减少代码?

可以使用tkinter按钮重复更改画布对象吗?

我可以使用 for 循环来获得相同的结果吗?

我可以使用此列表来填充Arrayadapter吗?

我可以使用 AgensGraph 来迁移数据吗?

我可以使用重构来交换变量的类型吗?

我可以使用锁来确保指令顺序吗?

我可以使用按钮来清除画布吗?

我可以使用python来CSP吗?

我可以使用 SUMPRODUCT 来完成此操作吗?

我可以使用 <span> 来实现吗?

我可以使用Rcpp加速我的R代码吗?

TOP 榜单

热门标签

归档