关于python中的flush问题
今天写了一个控制台下的进度条小程序,遇到了关于flush的问题,在这里小小的总结一下。
首先在要flush的字符串必须后边加上'\r'(回车) 将数据送入缓冲区这样在新打印字符的时候就可以将原来的显示覆盖掉
instance:
sys.stdout.write('Here are some codes.\r') sys.stdout.flush() time.sleep(2) sys.stdout.write('Here are some new codes.\r') sys.stdout.flush() time.sleep(2)
运行前两秒结果:
Here are some codes.
运行后两秒结果:
Here are some new codes.
>>>
可以看出后面输出的一行把前边的一行给覆盖掉了。