Нет такой ошибки: нажмите CLI в Python - PullRequest
0 голосов
/ 25 апреля 2018

Работая с Click, чтобы создать инструмент командной строки, я не могу правильно использовать параметры.Вот мой код ...

import click, os, configparser

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

@main.command()
@click.option('--path', default='', help="Provide a custom path to search")
def find_all_scripts(verbose, path):
    extension = '.script'
    config = configparser.ConfigParser()
    config.read('properties.ini')
    if path:
        walkPath = path
    else:
        walkPath = config['PATH']['root']
    for root, dirs, files in os.walk(walkPath):
        for name in files:
            if name.endswith(extension):
                click.echo(name)

Вот мой вывод командной строки с --help, показывающий мой вариант

$ myhello find_all_scripts --help
Usage: myhello find_all_scripts [OPTIONS]

Options:
  --path TEXT  Provide a custom path to search
  --help       Show this message and exit.

Но когда я пытаюсь использовать опцию для предоставленияпуть, отличный от того, который указан в моем файле свойств конфигурации, я получаю эту ошибку

$ myhello --path /custom/path find_all_scripts
Error: no such option: --path

Мне удалось использовать аргументы, но независимо от того, что я пытаюсь, я не могу заставить параметры работать должным образом.Любая помощь будет принята с благодарностью.Спасибо!

...