在我使用Python开发的程序中,我需要能够逐一打印元素列表,并在 n 元素之后移至新行以形成网格。但是,每次程序重新打印网格时,您都可以看到网格逐个进行,这对用户而言看起来很丑陋并且分散了用户的注意力。我想知道是否有一种方法可以在短时间内“暂停”控制台输出以允许打印网格,然后再显示网格,从而擦除先前的打印输出,而不是逐元素显示。我之所以需要这样做,是因为该程序将Colorama用于彩色输出,但是列表中的不同元素将需要具有不同的颜色,这意味着每个元素必须一张一张地打印。
编辑(当前代码):
import time as t
from os import system as c
h = 50
w = 50
loop1 = 0
ostype = "Windows"
def cl():
if(ostype == "Linux"):
c('clear')
if(ostype == "Windows"):
c('cls')
def do():
grid = []
for x in range(0,h):
temp = []
for z in range(0,w):
temp.append("#")
grid.append(temp)
for a in range(0,h):
for b in range(0,w):
print(grid[a][b], flush=False, end="")
print()
while(loop1 == 0):
do()
t.sleep(1)
cl()
答案 0 :(得分:0)
您可能会告诉print不刷新标准输出缓冲区,而让最后一个print刷新所有内容。取决于您使用的python版本,对于python 3打印函数需要使用flush参数,将其相应地设置为true / false。