python - 在终端上用python显示反视频文本

标签 python curses termcap

Python 有一个curses 模块。有没有简单的方法可以使用这个模块来显示反视频文字?我不想做完整的 curses 应用程序,只希望文本带反色(或颜色)。

最佳答案

如果您使用 filter函数(在 initscr 之前),curses 应用程序只会更新屏幕的当前行(不会清除整个屏幕)。这将是对 curses 库的最少使用。

如果你想要一个较低级别的(没有优化,自己做),你将不得不使用库的 terminfo 级别,即这些功能:

  • initscrfilter(因为 Python curses 显然没有与 newterm 的接口(interface))
  • tigetstr阅读 sgrsgr0smsormsorev 的功能/li>
  • tparmsgr 格式化参数,如果你使用它的话
  • putp写入通过 tigetstrtparm
  • 读取/格式化的字符串

页面 Python curses.tigetstr Examples 有一些(大部分不完整的)使用 tigetstr 的示例,并提醒我您可以使用 setupterm作为 newterm 的替代品。如果您访问该页面搜索“curses.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 库优化。您将使用 initscrnewterm 来使用 curses 屏幕优化,但 setupterm 不使用它,只使用低级功能-和输出函数。

关于python - 在终端上用python显示反视频文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35259566/

相关文章:

c - Termcap tgetstr 获取方向键

perl - 终端:我在哪里?

python - 仔细检查 : passing out internal reference from member function

python - Keras LSTM TensorFlow错误: 'Shapes must be equal rank, but are 1 and 0'

c++ - 诅咒填充 block

python - 是否可以在 python 中使用 curses 获取默认背景颜色?

perl - 为什么我的 Perl 诅咒窗口不起作用?

tty - 为什么 terminfo[kcuu1] = '\EOA' ?

Python csv : Optimizing header output

python - 在另一个目录中运行 Python 脚本