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

(编辑:jimmy 日期: 2024/9/24 浏览:2)

需求目标

执行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控制台输出时刷新当前行内容而不是输出新行的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?