一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python控制台输出时刷新当前行内容而不是输出新行的实现代码

时间:2020-02-21 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下Python控制台输出时刷新当前行内容而不是输出新行的实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

需求目标

执行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)

热门栏目