问题标签 [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.

0 投票
1 回答
594 浏览

python-curses - 在 curses 中打印到 shell Python

我发现了一个标题为“在curses 中打印到标准控制台”的问题。此处描述了一个解决方案,该对象替换 sys.stdout 以在关闭诅咒屏幕后打印到标准控制台。我测试了这个解决方案并且工作正常,但我想知道如何将一些东西打印到 python shell?编程代码如下

从诅咒屏幕退出后,标准控制台中的输出为:

比恩韦尼多

c:\用户\casalino>

0 投票
1 回答
444 浏览

python - 诅咒,断行

我使用Python curses来开发一个接口。由于它正在开发中,它经常崩溃并在stdout或上抛出随机错误stderr

输出格式不正确;应该如下所示的错误:

好像:

所以显然\n没有被解释为它应该的(看起来像它期望的那样\r)。我通过重定向stderr到文件或其他终端来处理这个问题,但它可以在代码中修复吗?

编辑

这是我的代码片段(curses UI 的“包装器”的一部分)

0 投票
1 回答
343 浏览

python - 如何在 python shell 中一次打印一个单词?

我已经有执行此任务的代码,但我只能在命令提示符下执行此任务。你输入函数的数字是每分钟的字数,所以如果你输入 60,你将得到 60 wpm,或每秒一个字。

有人告诉我,我必须导入 curses 才能让它在 shell 中工作。我怎么做?我需要写一些完全不同的东西吗?

0 投票
1 回答
7657 浏览

python - 我需要一个在 python 中使用面板重叠诅咒窗口的例子

我正在寻找一个关于如何使用curses.panel来维护重叠窗口的示例。

0 投票
1 回答
811 浏览

python - Get the background colour of the terminal window?

Is it possible to get the current background colour of the terminal window? I'm attempting to dim some of the output in my display, but this only seems to work if I set the background colour, and I'd like to continue to use the same background colour that is currently set.

0 投票
1 回答
1150 浏览

python-3.x - 如何在python-curses中填充到右下角

我在 Python3.3 中使用 curses,需要用字符填充整个可用空间。当我的双 for 循环到达最后一个角落时,我得到的错误发生。

我注意到每次添加一个字符时,光标都会向右移动。我没有尽可能彻底地测试这个,但我怀疑光标在最后一次调用 stdscr.addch 时离开了窗口的末尾,这可能会导致错误。

另一个注意事项是,通过使用窗口返回的最大宽度或高度一个单位,我可以在没有错误的情况下循环。

失败的来源:

对于我的项目,使用完整的矩形很重要。到目前为止,我已将最大宽度从 80 缩短到 79,但如果有人知道写到最后一个角落的方法,我想听听。

0 投票
1 回答
675 浏览

python - 如何使用 ncurses 返回字符串值?

我试过win.inch(y,x)and win.instr(y,x),甚至win.getch()and win.getkey()。没有人能达到侦探的效果?我已经通过stackoverflow和google进行了搜索,但到目前为止我还没有找到解决方案。我已经阅读了python的curses手册。但仍然无法解决这个问题。

我的代码:

我已经运行了这段代码,但屏幕上没有显示“成功”。昨晚我调试了 4 个小时的代码。而且我确定我被这个价值判断主张“如果stdscr.inch(1,1,) == 'x':”所困扰。我怎样才能实现我的目的,即查看某个坐标处是否有特定的字符串,然后执行相应的操作?

0 投票
1 回答
324 浏览

python-3.x - 使用“curses”在终端中打印关键事件

我想在终端中动态打印文本,curses但是当按下这种键时,以下代码不显示键向上/向下文本,而循环文本被更新。我做错了什么?我在 Mac OS Maverick 上。

我已经测试了上面的第二个代码,它运行良好。对我来说很奇怪...

0 投票
1 回答
2446 浏览

python - Python curses 在添加 utf-8 编码字符串时打印两个字符

在尝试将 UTF-8 编码的字符串打印到 curses 窗口时,我遇到了一个非常奇怪的问题。这是代码,我将在下面讨论确切的问题以及我尝试过的事情。

这是它的Gist 链接

问题是当我按下è键(ASCII 码 232)时,它不会只打印那个字符。相反,字符串ăè被打印到给定的坐标。我尝试过使用self.window.addstr(self.x, self.y, self.string[1]),但这只会导致打印乱码。

然后我启动了一个 Python 提示符来查看它的返回值,unichr(232).encode('utf-8')它确实是一个长度为 2 的字符串。

非常出乎意料的行为是,如果我输入screen.addstr(4, 4, unichr(232).encode(code))main会正确显示è字符,并且只有那个字符。如果我使类的write方法无论如何AddCharCommand都打印è字符,也是这种情况。

当然,问题不仅限于è所有扩展 ASCII 字符的情况。

我知道带有诅咒的扩展ASCII有点不稳定,但我根本无法理解这种行为。如果我硬编码 ASCII 代码,代码按预期工作没有任何意义(对我来说),但如果我不这样做,它会添加另一个字符。

我环顾四周并阅读了很多关于诅咒的东西,但我一直无法找到解决这个问题的方法。我将不胜感激在这件事上的任何帮助,这让我发疯。

也许不那么重要,但如果有人能向我解释为什么screen.getch()为 127 以上的字符返回不正确的 ASCII 码以及为什么真正的 ASCII 码与 curses 返回的码之间的差异是 64,我会很高兴。

非常感谢您提前。

0 投票
1 回答
716 浏览

python - python curses getstr的输入限制?

下午,

我正在尝试使用 curses,我对这个脚本的要求之一是接受大量数据。数据是用来粘贴的,虽然通常只有几千行,但很容易增长到数万行。我的问题似乎是我的输入仅限于我的窗口大小?

前任:

当我输入尽可能多的“a”字符时,这为我提供了 449 的输出。

有没有办法解决这个问题?我尝试将窗口设置得更大,但仍然达到最大值 1024。