清除、更新和保存当前行

问题描述 投票:0回答:1

如何在Python中清除保存当前行?我有一个双循环,我想在线打印内循环的结果,并在每次进入外循环后保存并显示这个循环的最终结果。我有

import os
for j in xrange(1,final_step_j):
    Result=0
        for k in xrange(1,final_step_k):
         Result=Result+ j*k
         os.system('clear')
         print "current Result for j=%s and k=%s is %s" %(j, k, Result) 

哪些 os.system('clear') 每次运行内循环时,都要清楚地清除整个页面。我想每次都保存并显示内循环的最终结果,并转到新的行来显示下一轮的结果,而之前的最后一行还在屏幕上可见。

python loops printing newline
1个回答
1
投票

这并不完美,但你可以尝试写一个回车符。\r 而不通过下层的新线路 stdout 方法。

import os
import sys

for j in xrange(1,final_step_j):
  Result=0
  for k in xrange(1,final_step_k):
    Result=Result+ j*k
    # Move back to beginning and print over
    sys.stdout.write("\rcurrent Result for j=%s and k=%s is %s" %(j, k, Result)) 
    sys.stdout.flush() # Flush without a new line
  print # Move to next line

问题是如果你要打印的行比你已经打印的行短 在这种情况下,你需要有更多的填充物 或者确保你有一个稳定的填充物。

基于 本回答.

© www.soinside.com 2019 - 2024. All rights reserved.