首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Python curses在终端中显示彩色ascii图片

使用Python curses在终端中显示彩色ascii图片
EN

Stack Overflow用户
提问于 2020-10-29 08:05:05
回答 1查看 203关注 0票数 0

我想使用python-curses在终端(例如windows cmd)中显示一个彩色的ascii艺术。我写了一些非常基本的东西,如下所示:

代码语言:javascript
复制
import time
import curses
stdscr = curses.initscr()

curses.noecho()
curses.cbreak()
stdscr.keypad(True)

f = open('betterdays.ansi.txt',"r",encoding="utf8")
asciiart = f.read()
for y, line in enumerate(asciiart.splitlines(), 2):
    stdscr.addstr(y, 2, line)


stdscr.refresh()
time.sleep(5)

curses.echo()
curses.nocbreak()
stdscr.keypad(False)

curses.endwin()

而whihc给了我一个错误:

代码语言:javascript
复制
 stdscr.addstr(y, 2, line)
_curses.error: addwstr() returned ERR

我已经看过this question了,但它不能解决我的问题。有没有更好的方法来实现这一点?我们非常感谢您的任何建议。

可以通过here查看/下载.txt文件。

EN

回答 1

Stack Overflow用户

发布于 2020-10-29 20:11:45

这不是“彩色ASCII”--在过去,我们称它为ANSI艺术。Curses不会解释生成颜色和动作的ANSI转义序列,也不会干净地将它们传递给终端,即使它可能(通常会,但这取决于终端)自己使用它们来呈现其输出。

您可以采用两种基本方法:如果您在一个更广泛的curses框架中工作,并且确实想要这些特性,那么您可以自己解释ANSI序列,并在curses结构中呈现它们。

更简单地说,如果您只想将图像显示在屏幕上,并且您知道您的终端已经支持ANSI,那么跳过curse,只需通过标准输出打印每一行即可。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64583061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档