gpt4 book ai didi

python - 如何根据第一个输入显示/隐藏输入选项?

转载 作者:行者123 更新时间:2023-12-04 10:45:19 24 4
gpt4 key购买 nike

我正在使用 Python 编写命令行工具 Click包裹。

对于用户输入,我想根据第一个输入显示/隐藏下一个输入选项。

这是示例代码:

import click


@click.command()
@click.option('--user/--no-user', prompt='do you want to add user?')
@click.option('--new-user', prompt='add user')
def add_user(user, new_user):
print(user)
print(new_user)


add_user()

仅当用户为第一个输入( '--new-user' )键入 yes 时,我才想显示第二个提示( '--user/--no-user' )。

任何帮助我该怎么做?
提前致谢。

最佳答案

您将不得不使用自定义回调:

import click

def prompt_user(ctx, param, user):
new_user = None
if user:
new_user = click.prompt('username')
return (user, new_user)


@click.command()
@click.option('--user/--no-user', prompt='do you want to add user?', callback=prompt_user)
def add_user(user):
user, new_user = user
print(user)
print(new_user)

if __name__ == '__main__':
add_user()

$ python3.8 user.py
do you want to add user? [y/N]: y
username: no
True
no
$ python3.8 user.py
do you want to add user? [y/N]: N
False
None


请注意 prompt_user返回一个包含两个值的元组。所以行 user, new_user = useruser等于第一个值和 new_user到第二。见 this link更多解释。

关于python - 如何根据第一个输入显示/隐藏输入选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59734638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com