问题标签 [python-curses]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
docker - Docker 容器中的 NCurses
我目前在 Docker 容器中设置了一个 TOR 中继,以便在线快速部署。一切运行良好,并且 ARM(一个 TOR 监控应用程序)已安装并可以使用。
当我在容器中执行 bash shell 以运行 ARM(使用 NCurses 的 Python 应用程序)时,ARM 抛出以下错误:
curses.error: setupterm: 找不到终端
我启动容器,一切正常,然后我执行一个 shell,如下所示:
docker exec -t -i container_id /bin/bash
拥有 bash shell 后,我运行导致上述错误的 ARM 应用程序。
谷歌搜索该问题表明 TERM 环境变量可能不正确(echo $TERM以哑巴返回)。Docker 中的t标志应该设置一个 TTY。
我假设其他人已经在 Docker 容器中遇到过这个问题,但我对如何解决这个问题一头雾水。谷歌搜索并没有提供任何 Docker 特定的内容。
帮助!
python - 使用 curses 支持编译 Python
我尝试编译和安装带有 curses 支持的 Python 失败了,我已经在我的编译标志和诸如此类的东西上尝试了各种迭代,并且似乎无法让这个东西工作。
这是在 Solaris 11,Python 版本 3.4.3 上:
首先,这是问题:
各种 Googlez 告诉我这是因为在编译 Python 时,没有找到 ncurses 库。
所以我从ftp://ftp.gnu.org/gnu/ncurses/ (5.9) 到 /usr/local/pkg/ncurses/5.9 安装了 curses 并尝试重新编译 Python,传入 ncurses 的位置:
这似乎应该这样做。config.log 似乎没有表明任何失败。
我还尝试使用 Solaris 打包工具 OpenCSW 来安装这些包:
然后我尝试了:
在任何一种情况下,相同的情况:
编辑更新:
我刚刚意识到 curses 模块是在“make install”而不是“make”期间构建的,所以我错过了一些严重错误。特别是在使用 ncurses 的 /usr/local/pkg 安装时:
特别是在使用 ncurses 的 OpenCSW 安装时:
python - 在 python 诅咒中使用哪个 $TERM 来同时拥有 256 种颜色和鼠标移动事件?
目前,如果我将 TERM 环境变量设置为“xterm-1003”,我可以获得鼠标移动事件,但我会得到糟糕的颜色和 curses.can_change_color() == False
如果我将 TERM env var 设置为“xterm-256color”,我会得到一个不错的调色板加上 curses.can_change_color() == True,但是除非我单击按钮,否则我不会收到鼠标事件!
报告
我尝试过的似乎都不支持 curses.can_change_color() == True 和鼠标移动事件。有没有办法通过设置适当的 $TERM 值或其他方式来获得它们?
谢谢!
python - 如何在python curses窗口中输出行数超过允许值的文本?
我想在我的 python curses 窗口中显示某些行作为输出,但是行数超过了 curses 窗口中允许的总行数,因此我收到了一个错误。
如何通过向下滚动到下一个屏幕来显示所有内容。我尝试了填充,但它不起作用。
这是我的代码
python - 意外的诅咒前/背景 256 色 init_pair'ing
在正确的诅咒/窗口初始化之后,我可以对默认颜色对进行颜色配对,例如使用前景色、-1 和 -1、背景色,但是当我开始使用自定义对 #s 和 bg/fg 颜色值 > 0x8 自定义对时,我得到了意外或错误的结果。
术语的环境 $TERM == 'xterm-256color'
Python 的 curses.COLORS == 256
Python 的 curses.COLOR_PAIRS == 32767
Python 的版本 == 2.7.7,curses == 2.2
检查上面的“???”。我错过了什么概念?我想为每个 256 色加上一些自定义 fg/bg 有一个颜色对?
python - 用于不覆盖字符串的 Windows 的 Python 诅咒
我正在使用来自:http ://www.lfd.uci.edu/~gohlke/pythonlibs/#curses 的包 ,我正在制作一个屏幕对象,如下所示:
但是当我实际执行它时,它只是保持为“Hello”而不是覆盖它并打印“hi”
我试过删除 '\r' 但无济于事。
有任何想法吗?
python - python curses setupterm中的远程调试pdevd错误
是否可以在 PyCharm 中远程调试诅咒程序?如何设置?
我遵循 PyCharm 4.0.8 指令,将其添加到EXAMPLE.py
来自“”的“ npyscreen-4.8.7
”中。
并且总是在“ setupterm
”中遇到错误:
问题是 pydevd 将环境“TERM”从“xterm”更改为“emacs”。这可以通过一个小测试程序来验证。
- 如果删除带有“
pdevd
”的两行,则程序成功。TERM
它打印出来的“”是“ ”xterm
。 - 如果将“”的第一个参数更改
setupterm
为“term='xterm'
”,即使使用“pydevd
”也成功。
我想问题是如何让“ pydevd
”设置正确的“ TERM
”?
python - rxvt 忽略 DECCKM 序列
我正在编写一个 CLI 服务器。在我的项目中,我执行以下操作(简化):
检测到的 smkx 序列只有与“infocmp rxvt”匹配的“\E=”(一个糟糕的 terminfo 条目?)。
现在,当我运行我的 CLI 服务器并在 rxvt 终端上运行 telnet 连接到它时,终端会收到 smkx 序列。当 rxvt 终端上的用户按下左箭头键时,我希望将“\E[D”序列发送到 CLI 服务器(因为已设置应用程序模式)。不幸的是,当 smkx 序列已发送和未发送到终端客户端时,序列始终为“\EOD”。
我尝试将 smkx 序列硬编码为 "\E[?1h\E=" 并将其发送给客户端,但它没有改变任何东西。
终端也不响应 DECRQM 查询。
我的全貌是我的应用程序学习终端的名称并查询 terminfo 数据库以获取关键代码和其他功能。我正在运行 ubuntu 13.10。Rxvt 终端是“2.7.10”
问题:
- 我做错什么了吗?
- 如果不是,我应该如何理解 smkx="\E=" 而不是 "\E[?1h\E=" (不支持 DECCKM?)
- 如何正确检测此类情况并处理它们(回退到 ANSI 游标序列?)
问候
python - ncurses中的十六进制网格
我正在寻找使用六边形瓷砖而不是方形瓷砖的roguelike游戏。(一个十六进制与其所有邻居的距离相等。)有没有办法在 ncurses 中安排这个?实际上,只需将填充中的每个奇数行偏移字符宽度的 1/2。
我更喜欢 python,但我也知道 c++。将此问题标记为两者,以防后者是必要的。
python - 如何显示带有诅咒的预着色字符串?
我正在用 Python 编写一个诅咒程序。我是 curses 的初学者,但我使用终端控制序列进行彩色输出。
现在有一些代码片段要在窗口内打印,我希望它们突出显示语法,最好使用 pygments 之类的库来完成,它输出带有控制序列的突出显示的代码。
最初我将 pygments 输出直接提供给window.addstr()
,但结果是控制序列被转义并且整个突出显示的字符串都打印在屏幕上(就像这样:https ://too-young.me/web/repos/curses-高亮.png )。我怎样才能直接用诅咒显示它,就像cat
?