使用click包构建命令行工具

时间:2018-05-06 06:59:47

标签: python-3.x 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 two2它应该产生输出为一,二

任何人都可以解释我该怎么办?

1 个答案:

答案 0 :(得分:0)

修改

如果问题是如何调用你的脚本,它会告诉你如何在--help屏幕:" [OPTIONS] NAME COMMAND [ARGS]"

但是'--removedigits'不是一个标志(由is_flag表示)所以click需要一个参数,所以你应该将它添加到一个标志的选项中:

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