Python 使用单击包生成命令行工具

Python 使用单击包生成命令行工具,python,python-3.x,python-click,Python,Python 3.x,Python Click,我不熟悉使用click软件包,如果我给出一到两个命令并运行它,它不会给出输出,请查看我的代码并建议我可以做什么 import click @click.group() @click.option('--removedigits',default=False,help='remove digits from input') @click.argument('name') def cli(removedigits,name): '''supports some string comman

我不熟悉使用click软件包,如果我给出一到两个命令并运行它,它不会给出输出,请查看我的代码并建议我可以做什么

import click
@click.group()
@click.option('--removedigits',default=False,help='remove digits from input')
@click.argument('name')
def cli(removedigits,name):
      '''supports some string commands from command line'''
      if(removedigits):
           output=[]
           for ch in name:
               if not ch.isdigit():
                   output.append(ch)
           print(''.join(output))

@cli.command()
def concat():
'''concatnates passed in strings with delimiter'''
   pass
如果我以
--removedigits concat-d,one1 two的形式输入命令,那么它应该以one,two的形式生成输出

有人能解释一下我该如何继续吗?

编辑:

如果问题是如何调用脚本,它会在--help屏幕中告诉您如何调用:“[OPTIONS]NAME命令[ARGS]”

但是,
“--removedigits”
不是一个标志(由
is_flag
指示),因此单击后需要一个参数,因此您应该将其添加到选项中,即它是一个标志:


@click.option('--removedigits',default=False,help='remove digits from input',is_flag=True)

我只想在click中使用,我没有在这里包括if_uname_uuu=='main'。我只是写了代码的概述。如果我以--removedigits concat命令的形式发出命令,我应该如何将输入传递给concat funct呢