正如标题所说,我想知道如何同时在多行上写,我之所以想要这样做是因为我正在使用多线程,并希望每个线程都显示其进度而不打印一切都在同一条线上
现在我正在使用此功能写入终端。
def write( text ):
sys.stdout.write( "\r" + text )
sys.stdout.flush()
有人能指出我正确的方向吗?我对python不是很有经验,所以如果你有一个解决方案,那么请解释一下,以便像我一样的总菜鸟可以理解:P
答案 0 :(得分:0)
您需要使用简单的同步机制,例如Lock
,以防止两个线程同时写入标准输出:
from threading import Lock
writelock = Lock()
def write( text ):
writelock.acquire()
sys.stdout.write( "\r" + text )
sys.stdout.flush()
writelock.release()