这是python语言的问题,终端/控制台适用于类Unix的系统。如果解决方案是独立于平台的,那就太好了,但这不是必需的。在
这种情况是当程序继续将行打印到终端时。然而,在要打印的许多行中,有些行是特殊的,如进度条或状态指示器:它们只需放在控制台的底部,而所有其他行仍然可以在正常位置打印,一个接一个,屏幕也会正常滚动。在
示例代码解决方案比理论解决方案要好得多。为此,我们举一个例子:
def print_status(msg):
# implement me
print msg
def print_many_lines():
print 'line one\n'
print 'line two\n'
print_status('i am here')
print 'line three\n'
print 'line four\n'
print 'line five\n'
print_status('i am changed')
print 'line six\n'
您能帮我实现print_status功能,以便传递给它的msg始终在终端底部打印?在
请注意,这与another similar question非常不同,即当多行连续打印到终端时,如何确保它们在同一行打印。在这种情况下,使用\r可能很有用,但无法解决此问题,因为(1)这些特殊行很可能不会连续打印,(2)在这些特殊行之后将打印其他行,但这些特殊行仍应保留在终端的底部。在
谢谢!在
对于Windows终端,请尝试使用console module(对于unix,curses module)就可以了。在
这就是你在Windows上的操作方式。在
通过为第二个参数指定
-1
,字符串位于最后一行。在对于Linux,是在最后一行打印的工作代码。在
^{pr2}$听起来你想使用curses库,它处理Unix系统上基于文本的ui。python的标准库中有一个用于它的模块:
https://docs.python.org/2/library/curses.html#module-curses
如何使用它恐怕超出了这里的回答范围。在
相关问题 更多 >
编程相关推荐