【发布时间】:2017-08-07 18:01:47
【问题描述】:
我有一个产生其他线程的主线程。主线程定期检查我打印/刷新/更新的状态:
status = "Queued: {} | Workers: {}".format(queued_status, worker_status)
sys.stdout.flush()
sys.stdout.write("\r{}".format(status))
这很好用,但它最终会与工作线程的打印语句混在一起。
那么,我如何将状态打印指定到顶部(它只是在原地更新),并在下面打印线程?像这样的:
Queued: No | Workers: 4
........................
Thread print
Thread print
Thread print
线程打印将继续滚动(就像普通终端窗口一样),但状态被锁定在顶部。
【问题讨论】:
-
如果您使用的是 Linux(或者使用与 VT100 兼容的终端,或者至少支持 ANSI 控制序列的终端),这非常容易。看看stackoverflow.com/a/45164619/4014959