python - 没有这个选项,点击6.6版本

标签 python command-line-interface python-click

使用http://click.pocoo.org/5/

我定义了这个命令,但是,当我运行该命令时,缺少的选项被正确传递(我可以看到该值),但我得到错误:没有这样的选项:--missing 在终端中,命令失败。

我到底做错了什么?下面的代码删除了一些信息,以使其不那么困惑,但逻辑是相同的。

@cli.group()
def migrator():
    """Migrator from existing HEPData System to new Version"""


@migrator.command()
@with_appcontext
@click.option('--missing', is_flag=True, help='...')
@click.option('--start', '-s', type=int, default=None, help='...')
@click.option('--end', '-e', default=None, type=int, help='...')
@click.option('--date', '-d', type=str, default=None, help='...')
def migrate(start, end, missing, date=None):
    """
    Migrates all content...
    """
    if missing:
        ids = get_missing_records()
    else:
        ids = get_all_ids_in_current_system(date)

    print("Found {} ids to load.".format(len(ids)))
    if start is not None:
        _slice = slice(int(start), end)
        ids = ids[_slice]
        print("Sliced, going to load {} records.".format(len(ids)))

    print(ids)

    load_files(ids)

最佳答案

我发现了这个问题。和 pocoo click 没有太大关系。这是因为 get_missing_records() 函数实际上是另一个 CLI 命令。 missing 参数随后也传递给该函数,而 get_missing_records() 方法显然对该参数一无所知。这样就全部解决了。

关于python - 没有这个选项,点击6.6版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40039243/

相关文章:

python - 多个单词选项

python - 如何减小 AWS Lambda 打包的 python zip 文件的大小

python - matplotlib 散点图,其中 xyz 轴线穿过原点 (0,0,0),轴投影线到每个点

python - 如何从节点列表中获取对应的边

linux - AWS CLI -'Aws-shell' 命名空间对象没有属性 : cli_binary_format

command-line-interface - Pivotal Cloud Foundry 登录问题

c# - 从 dotnet 测试中排除命名空间

python - 单击模块自动完成功能在 3 组深度下不起作用

python - 使用 python 2.7.3 在 linux 中安装 gedit

python - 使用 Python Click 创建分层命令