在终端上显示带有 python 的反视频文本
Display inverse video text with python on terminal
Python 有一个 curses
模块。有没有简单的方法可以使用这个模块来显示反视频文字?我不想做完整的 curses 应用程序,只希望文本带反色(或颜色)。
如果使用 filter
function (before initscr
),curses 应用程序只会更新屏幕的当前行(不会清除整个屏幕)。那将是对 curses 库的最少使用。
如果你想要一个较低级别的(没有优化,自己做),你将不得不使用库的terminfo级别,即这些功能:
initscr
和 filter
(因为 Python curses 显然没有与 newterm 的接口)
tigetstr
读取 sgr
、sgr0
、smso
、rmso
、rev
的功能
tparm
为 sgr
格式化参数,如果你使用
putp
通过 tigetstr
和 tparm
写入字符串 read/formatted
页面 Python curses.tigetstr Examples has some (mostly incomplete) examples using tigetstr
, and reminds me that you could use setupterm
作为 newterm
的替代。如果您访问该页面搜索 "curses.filter",它断言有其使用示例,但阅读后,我没有发现任何可报告的内容。
延伸阅读:
- Complete as-you-type on command line with python(显示
filter
正在使用)
反向视频演示:
import curses
curses.filter()
stdscr = curses.initscr()
stdscr.addstr("normal-")
stdscr.addstr("Hello world!", curses.A_REVERSE)
stdscr.addstr("-normal")
stdscr.refresh()
curses.endwin()
print
或
import curses
curses.setupterm()
curses.putp("normal-")
curses.putp(curses.tigetstr("rev"))
curses.putp("Hello world!")
curses.putp(curses.tigetstr("sgr0"))
curses.putp("-normal")
说明一点:用curses.putp
写的文本绕过了curses库优化。您可以使用 initscr
或 newterm
来使用 curses 屏幕优化,但 setupterm
不使用它,只使用低级功能和输出功能。
Python 有一个 curses
模块。有没有简单的方法可以使用这个模块来显示反视频文字?我不想做完整的 curses 应用程序,只希望文本带反色(或颜色)。
如果使用 filter
function (before initscr
),curses 应用程序只会更新屏幕的当前行(不会清除整个屏幕)。那将是对 curses 库的最少使用。
如果你想要一个较低级别的(没有优化,自己做),你将不得不使用库的terminfo级别,即这些功能:
initscr
和filter
(因为 Python curses 显然没有与 newterm 的接口)tigetstr
读取sgr
、sgr0
、smso
、rmso
、rev
的功能
tparm
为sgr
格式化参数,如果你使用putp
通过tigetstr
和tparm
写入字符串 read/formatted
页面 Python curses.tigetstr Examples has some (mostly incomplete) examples using tigetstr
, and reminds me that you could use setupterm
作为 newterm
的替代。如果您访问该页面搜索 "curses.filter",它断言有其使用示例,但阅读后,我没有发现任何可报告的内容。
延伸阅读:
- Complete as-you-type on command line with python(显示
filter
正在使用)
反向视频演示:
import curses
curses.filter()
stdscr = curses.initscr()
stdscr.addstr("normal-")
stdscr.addstr("Hello world!", curses.A_REVERSE)
stdscr.addstr("-normal")
stdscr.refresh()
curses.endwin()
print
或
import curses
curses.setupterm()
curses.putp("normal-")
curses.putp(curses.tigetstr("rev"))
curses.putp("Hello world!")
curses.putp(curses.tigetstr("sgr0"))
curses.putp("-normal")
说明一点:用curses.putp
写的文本绕过了curses库优化。您可以使用 initscr
或 newterm
来使用 curses 屏幕优化,但 setupterm
不使用它,只使用低级功能和输出功能。