在Unix系统中,我可以使用
我能否从Python脚本在Windows命令行中实现相同的效果?
我尝试过curses模块,但它在Windows上似乎不可用。
\r
(回车)或\b
(退格)来覆盖当前行(在shell中打印已经可见的文本)。我能否从Python脚本在Windows命令行中实现相同的效果?
我尝试过curses模块,但它在Windows上似乎不可用。
\r
(回车)或\b
(退格)来覆盖当前行(在shell中打印已经可见的文本)。感谢各位提供的有用答案。我需要这些信息 :)
我发现nosklo的回答特别有用,但我想要一个完全包含在函数中的解决方案,通过将所需输出作为参数传递。另外,我并不需要计时器,因为我希望在特定事件之后进行打印。
以下是对我有用的方法,希望对其他人也有帮助:
import sys
def replace_cmd_line(output):
"""Replace the last command line output with the given output."""
sys.stdout.write(output)
sys.stdout.flush()
sys.stdout.write('\r')
sys.stdout.flush()
sys.stdout.write(output + '\r')
比两个方法调用更快(因为需要为字符串分配内存、复制和垃圾回收),所以将它们分开使用可能是可以的。 - Aaron Digulla