Posted in Python onFebruary 21, 2020
需求目标
执行Python程序的时候在控制台输出内容的时候只显示一行,然后自动刷新内容,像这样:
Downloading File FooFile.txt [47%]
而不是这样:
Downloading File FooFile.txt [47%] Downloading File FooFile.txt [48%] Downloading File FooFile.txt [49%]
实现环境
Python 3.x
实现代码
import time for i in range(10): time.sleep(0.2) print ("\r Loading... ".format(i)+str(i), end="")
这里主要用到了Python 3.x里面print函数增加的功能,使用\r可以刷新当前行输出,2.x里面没有测试,理论上不可以这样操作
拓展知识:
python 覆盖输出/单行输出方式
有时候看输出进度时,会分别输出进度,也就是输出一长串数字,如果能够覆盖之前的输出视觉效果会更好。
import sys import time for i in range(1000): percent = 1.0 * i / 1000 * 100 sys.stdout.write("\r nihao: %d / %d" %(percent, 100)) sys.stdout.flush() time.sleep(0.1)
以上这篇Python控制台输出时刷新当前行内容而不是输出新行的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。
Python控制台输出时刷新当前行内容而不是输出新行的实现
- Author -
香香爹声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@