跳转到主要内容

一个支持跨平台的Python 2/3模块,用于彩色、无聊、基于文本的终端程序。

项目描述

Bext

一个支持跨平台的Python 2/3模块,用于彩色、无聊、基于文本的终端程序。

基本上,如果您想在终端窗口中移动光标并显示彩色文本,可以使用Bext,就像某种有限的curses模块(但它也适用于Windows。)

Bext目前在新Windows Terminal中无法工作。它在较旧的命令提示符中可以工作。

注意:目前Colorama 0.4.6中的某个问题导致Bext失败。请使用0.4.5或更早版本。

安装

使用pip安装,请运行

pip install bext

函数

  • fg(color)

设置前景色,即文本的颜色。颜色是一个字符串,可以是以下颜色之一:black,red,green,yellow,blue,purple,cyan,white,reset,random。

  • bg(color)

设置背景色,即文本字符后面的单元格的颜色。您可以通过打印一个空格字符来用背景色“绘制”一个单元格。

  • size()

返回当前终端的(width, height)元组。

  • resize(columns, rows)

将终端窗口调整到给定的列数和行数。如果调整成功返回True,如果失败返回False。注意,在Ubuntu Linux上,如果终端窗口已最大化,此函数将不起作用。在Windows上,如果命令提示符已最大化,窗口大小不会改变,但屏幕缓冲区大小会调整。此函数不太可靠。

  • clear()

删除屏幕上的所有文本,将整个终端涂成背景色,并将光标移到屏幕左上角(0, 0)。

  • clear_line()

删除光标所在的行。

  • goto(x, y)

将光标移动到屏幕上的x, y坐标。(0, 0)是屏幕的左上角。

  • title(text)

将终端窗口的标题设置为text

  • hide_cursor()

隐藏光标。

  • show_cursor()

在隐藏光标后显示光标。

  • get_key(blocking=True)

等待用户按下键盘上的单个键,然后返回该键的字符串表示。如果 blocking 设置为 False,则函数立即返回(如果没有按键被按下,则返回 None。)

示例

    import bext, random

    width, height = bext.size()

    try:
        while True:
            bext.fg('random')
            bext.bg('random')
            x = random.randint(0, width - 1)
            y = random.randint(0, height - 1)

            if x == width -1 and y == height - 1:
                continue # Windows has weird behavior where a character at the end of the row always moves the cursor to the next row.
            bext.goto(x, y)
            print('*', end='')
    except KeyboardInterrupt:
        pass

贡献

如果您想为 Bext 做贡献,请查看 https://github.com/asweigart/bext

支持

如果您觉得这个项目对您有帮助,并想支持其开发,请考虑在 Patreon 上向其创作者捐款 https://www.patreon.com/AlSweigart

项目详情


下载文件

下载您平台上的文件。如果您不确定该选择哪一个,请了解更多关于 安装包 的信息。

源代码分发

Bext-0.1.1.tar.gz (10.4 kB 查看哈希值)

上传时间 源代码

由...