在控制台/终端中打印一行内容

7
使用Python,我想打印一行文本,它将出现在脚本所在控制台的最后一个可见行。例如,像这样的东西: enter image description here 这是否能够完成?

从截图来看,这似乎是一个关于Windows终端的问题;它是否也适用于Unix终端? - Martijn Pieters
如果可以的话,最好这么做。虽然这不是必须的。 - Markum
2个回答

2
最简单的方法是使用effbot.org的Console模块
import Console

c = Console.getconsole()
c.text(0, -1, 'And this is the string at the bottom of the console')

通过将第二个(行)参数指定为 -1 ,您正在处理控制台的最后一行。
因为 Console 模块仅适用于Windows,为了使其在UNIX终端上也能正常工作,您应该查看wcurses library,它提供了一个部分curses实现,可以在Windows上工作。您会像使用stdlib curses module一样驱动它;在Windows上使用第一个,在UNIX上使用后者。

1
我认为Effbot并没有提供Python 2.7版本的模块下载,我尝试下载了2.6版本,但无法安装。 - Markum
控制台底部的文本可以编辑吗?// 链接似乎已经失效:它说“effbot.org正在休息。我们会以某种形式回来。” - alper
1
@alper 我会尽快更新答案。与此同时,请注意effbot的项目仅适用于Python 2。您可以查看https://pypi.org/project/UniCurses。我可能会使用它来更新这个答案。 - Martijn Pieters
1
@alper: addstr()方法允许您在curses窗口中定位文本。请参考unicurses test_windows.py演示以了解如何获取窗口及其大小;只需创建一个最大列数和行数的窗口,无需边框。 - Martijn Pieters
1
@alper: addstr()方法允许您在curses窗口中定位文本。请参阅unicurses test_windows.py演示以了解如何获取窗口及其大小;只需创建一个最大列数和行数的窗口,无需边框。 - undefined
显示剩余6条评论

1

如果是Windows终端,请尝试使用控制台模块。对于Unix系统,可以使用curses模块。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接