加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何使用curses显示预先着色的字符串?

发布时间:2020-12-20 13:49:36 所属栏目:Python 来源:网络整理
导读:我正在用 Python编写一个curses程序.我是诅咒的初学者,但我使用终端控制序列进行彩色输出. 现在有一些代码片段可以在窗口内打印,我希望它们能够突出显示语法,并且最好使用像pygments这样的库来完成,它会输出带有控制序列的突出显示的代码. 最初我将pygments
我正在用 Python编写一个curses程序.我是诅咒的初学者,但我使用终端控制序列进行彩色输出.

现在有一些代码片段可以在窗口内打印,我希望它们能够突出显示语法,并且最好使用像pygments这样的库来完成,它会输出带有控制序列的突出显示的代码.

最初我将pygments输出直接输入到window.addstr(),但事实证明控制序列是转义的,整个突出显示的字符串打印在屏幕上(就像这样:https://too-young.me/web/repos/curses-highlight.png).我怎样才能直接用诅咒显示它,就像猫一样?

解决方法

这已被问过几次,答案相同:你可以写一个解析器来做这件事.相关讨论:

> How to use ANSI escape codes inside mvwprintw in ncurses?
> Comment on Parsing ANSI color escape sequences
> Handle escape sequences with ncurses? Does printf handle escape sequences?

例如,它不适合作为ncurses的扩展,因为:

> curses生成转义序列,但适用于各种设备(可能不是“ANSI颜色转义”).
> ncurses(参见FAQ Why aren’t my bugs being fixed?)并未将其作为扩展提供,因为此类型的解析器不依赖于任何ncurses的内部.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读