如何将上一问题的答案设为下一问题的默认值(基于questionary)
用Questionary实现前序问题答案作为后续问题默认值
直接借助Questionary的form配合lambda函数就能实现需求,具体操作如下:
- 导入questionary库
- 构建表单时,给第二个问题的
default参数传入一个lambda函数,该函数会自动获取已填写的答案字典,直接提取第一个问题的答案作为当前问题的默认值
完整代码示例:
import questionary answers = questionary.form( first = questionary.text("请输入第一个内容?"), second = questionary.text("请输入第二个内容?", default=lambda x: x['first']) ).ask() # 可选:打印结果验证 print(f"第一个答案:{answers['first']},第二个答案默认值:{answers['second']}")
关键细节说明
- lambda函数的参数
x是Questionary自动传入的已完成问题的答案字典,键名对应你在form里定义的问题名称(比如这里的first) - 运行表单时,填完第一个问题后,第二个问题的输入框会自动填充第一个问题的答案,你可以直接修改内容,也可以直接回车确认默认值
内容的提问来源于stack exchange,提问作者Juliana Xavier
相关产品推荐
相关产品推荐

