一个支持跨平台的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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 591a237dab859211ad884d374b826205b846eb81d5bd058eb12c113cbc2ed9d6 |
|
MD5 | 77ff91e6d2986ce4b18bcd3fc2a7c651 |
|
BLAKE2b-256 | 98ebb4eb3170b1fd0ae4be1da5644bf022daa7e6a48e157c596b4a8525fccfaf |