Я создал команду Click, которая будет копировать файлы из источника в место назначения.
Команда принимает 3 параметра:
1 - Источник файлов
2 - Назначение файлов
3 - Режим передачи (локальный, ftp)
import click
@click.group()
def cli():
pass
@cli.command()
@click.argument('source')
@click.argument('destination')
@click.option('--mode', required = True)
def copy(source, destination, mode):
print("copying files from " + source + " to " + destination + "using " + mode + " mode")
if __name__ == '__main__':
cli()
Когда я вызываю скрипт, используя это: command.py copy "C:/" "D:/" --mode=network
Я получаю следующий вывод: copying files from C:/ to D:/using network mode
Как видите, в качестве режима я указал сеть, но мне нужны только два варианта: локальный или ftp.
Итак, как я могу использовать Click для установки допустимых значений параметра?