我有两个函数prints()
和clear()
。函数prints()
打印文本行,函数clear()
使用此方法删除打印行:
def clear():
i = 0
while True:
if(i > globals['l']):
break
else:
sys.stdout.write("\033[F \033[K")
i += 1
其中globals['l']
是要清除的行数。
然后在函数clear()
运行并清除行后,函数prints()
再次运行等...
我不明白函数clear()
为什么只清除22行32行。但是,如果我有,例如,19行它是完美的。问题出在哪儿?我该如何解决这个问题?
答案 0 :(得分:2)
试试这个:
def clear(line_count):
sys.stdout.write("\033[F \033[K" * line_count)
sys.stdout.flush()
答案 1 :(得分:0)
编辑: 仅适用于Unix系统
您可以使用:
print("\033c")
或者:
import subprocess
subprocess.call(["printf", "\033c"])