在命令行上创建简单交互菜单的python包。

simple-term-menu的Python项目详细描述


简单的终端菜单

概述

simple-term-menu为交互式命令行程序创建简单菜单。它可以用来提供 用户有不同的选择。可使用箭头键或J/K键选择菜单项。模块使用terminfo 自动检测终端功能并禁用不可用样式的数据库。 目前,Linux和MacOS是受支持的。

安装

simple-term-menu可在python 3.3+的pypi上使用,并且可以使用pip

python3 -m pip install simple-term-menu

用法

使用默认样式创建菜单

创建类TerminalMenu的实例,并将菜单项作为字符串列表传递给构造函数。呼叫 用于输出菜单并等待键盘输入的show方法:

#!/usr/bin/env python3fromsimple_term_menuimportTerminalMenudefmain():terminal_menu=TerminalMenu(["entry 1","entry 2","entry 3"])terminal_menu.show()if__name__=="__main__":main()

您将得到如下输出:

screenshot_basic

现在您可以选择一个菜单项并通过按enter键或使用escape或<Ctrl>-C取消菜单来接受您的选择。 show返回选定的菜单项索引,如果菜单被取消,则返回None

您可以将可选的title传递给将放置在菜单上方的TerminalMenu构造函数。

造型

您可以将样式参数传递给TerminalMenu构造函数。每个样式都是关键字字符串的元组。目前 接受以下关键字:

  • bg_black
  • bg_blue
  • bg_cyan
  • bg_gray
  • bg_green
  • bg_purple
  • bg_red
  • bg_yellow
  • fg_black
  • fg_blue
  • fg_cyan
  • fg_gray
  • fg_green
  • fg_purple
  • fg_red
  • fg_yellow
  • bold
  • italics
  • standout
  • underline

您可以更改以下样式:

  • menu_cursor_style:显示的光标的样式。默认样式是("fg_red", "bold")

  • menu_highlight_style:所选菜单项的样式。默认样式是("standout",)

通过设置menu_cursor,您可以定义另一个光标或禁用它(None)。默认光标是"> "

命令行程序

simple-term-menu可以用作shell脚本中的终端程序。脚本的退出代码是基于1的索引。 所选菜单项的。退出代码0报告取消操作。以下命令行参数是 支持:

usage: simple-term-menu [-h] [-c CURSOR] [-s CURSOR_STYLE]
                        [-m HIGHLIGHT_STYLE] [-C] [-V]
                        entries [entries ...]

simple-term-menu creates simple interactive menus in the terminal and returns the selected entry as exit code.

positional arguments:
  entries               the menu entries to show

optional arguments:
  -h, --help            show this help message and exit
  -t TITLE, --title TITLE
                        menu title
  -c CURSOR, --cursor CURSOR
                        menu cursor (default: > )
  -s CURSOR_STYLE, --cursor_style CURSOR_STYLE
                        style for the menu cursor as comma separated list
                        (default: fg_red,bold)
  -m HIGHLIGHT_STYLE, --highlight_style HIGHLIGHT_STYLE
                        style for the selected menu entry as comma separated
                        list (default: standout)
  -C, --no-cycle        do not cycle the menu selection
  -V, --version         print the version number and exit

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java我是否需要构造一个带有*非final*但不可变字段的不可变类?   java如何使用jaxb读取属性?   java为什么不打印空值以外的任何内容?   java Struts2如何在不使用struts的情况下重定向到操作。xml?   java方法参数未在其实现中使用   在Java中更改终端内部的变量   Spring中的java依赖项注入失败   java如何使用getAttribute Selenium防止获取重复的HREF   优先级队列的java顺序不符合预期   java如何使用Spring TaskExecutor在应用程序的所有请求中使用单个任务池   java Firebase RecyclerView不会从数据库中检索项目并将其显示在屏幕上。屏幕是空的   java将YUV_420_888转换为字节数组   spring停止使用Java缓存文件   java在执行maven clean安装时,我在eclipse智能家居中遇到了这种错误   stream Java=下载缓冲区未满?冲洗/缓冲是如何工作的?   查询SQL server时重置java JDBC连接   java如何避免在两个函数中使用相同的逻辑。   转换java。lang.Boolean到Scala Boolean