python单击设置选项的允许值

2021-02-26 14:20:37 发布

您现在位置:Python中文网/ 问答频道 /正文

我创建了一个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指定为本地模式,但我只能看到两个选项

如何使用允许值的选项来设置?在

1条回答
网友
1楼 ·

您想使用click.Choice

@cli.command()
@click.argument('source')
@click.argument('destination')
@click.option(' mode', type=click.Choice(['local', 'ftp']), required = True)
def copy(source, destination, mode):
    print("copying files from " + source + " to " + destination + "using " + mode + " mode")

相关问题