基于Inquirer.js的常用交互式命令行用户界面集合
项目描述
python-inquirer
基于Inquirer.js的常用交互式命令行用户界面集合。
目标和哲学
作为Inquirer.js的克隆版本,它共享部分目标和哲学。
因此,Inquirer 应该简化用户提问、解析、验证答案、管理层次提示和提供错误反馈的过程。
您可以从GitHub下载python-inquirer代码,或从Pypi下载轮子。
平台支持
Python-inquirer主要支持基于UNIX的平台(例如Mac OS、Linux等)。Windows有实验性支持,如果遇到任何问题,请告诉我们!
安装
pip install inquirer
文档
文档已迁移至python-inquirer.readthedocs.io。
以下是一些使用示例
文本
import re
import inquirer
questions = [
inquirer.Text('name', message="What's your name"),
inquirer.Text('surname', message="What's your surname"),
inquirer.Text('phone', message="What's your phone number",
validate=lambda _, x: re.match('\+?\d[\d ]+\d', x),
)
]
answers = inquirer.prompt(questions)
编辑器
与文本问题类似,但用于较大答案。它打开外部文本编辑器以收集答案。
环境变量$VISUAL
和$EDITOR
可用于指定应使用哪个编辑器。如果不存在,inquirer将按照系统中的可用性顺序回退到vim -> emacs -> nano
。
使用优秀的库python-editor进行外部编辑器处理。
示例
import inquirer
questions = [
inquirer.Editor('long_text', message="Provide long text")
]
answers = inquirer.prompt(questions)
列表
显示选择列表,并允许选择其中之一。
示例
import inquirer
questions = [
inquirer.List('size',
message="What size do you need?",
choices=['Jumbo', 'Large', 'Standard', 'Medium', 'Small', 'Micro'],
),
]
answers = inquirer.prompt(questions)
列表问题可以接受一个额外的参数carousel=False
。如果设置为true,答案将旋转(按下最后一个选择时回到第一个,按下第一个选择时转到最后一个)。
复选框
显示选择列表,允许多选。
示例
import inquirer
questions = [
inquirer.Checkbox('interests',
message="What are you interested in?",
choices=['Computers', 'Books', 'Science', 'Nature', 'Fantasy', 'History'],
),
]
answers = inquirer.prompt(questions)
复选框问题可以接受额外的参数carousel=False
。如果设置为true,答案将旋转(按下最后一个选择时回到第一个,按下第一个选择时转到最后一个)。
另一个可用的参数是locked=<List>
。locked参数中给出的选择不能被删除。如果您想明确指出必须从选择中选择特定选项,这很有用。
路径
与文本问题类似,但具有内置路径验证。
示例
import inquirer
questions = [
inquirer.Path('log_file',
message="Where logs should be located?",
path_type=inquirer.Path.DIRECTORY,
),
]
answers = inquirer.prompt(questions)
贡献
欢迎贡献。有关更多信息,请参阅贡献指南。
许可证
版权(c)2014-2023 Miguel Ángel García (@magmax_en), 基于Inquirer.js,由Simon Boudrias (@vaxilart)开发
根据MIT许可证分发。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。