Python实现屏幕输出进度条的方法

一般输出到屏幕的时候是一组数据一次性全部显示出来得。这是因为电脑为了提高效率,数据会先暂时放入缓存,等缓存满了或者操作结束了,再一次性将数据进行处理。

类似进度条的情况需要字符一次一个的蹦出来,这时候就需要使用flush()来强制执行这个处理缓存内数据的操作。

上课讲文件flush()的时候,最后提到了这个。就先抄下来了。

import sys,time
for i in range(20):
    sys.stdout.write("#")  # 调用sys在屏幕输出
    sys.stdout.flush()  # 用flush()刷新,没有这句还是会等到缓存满了或者运行到最后了才会一次性全部显示出来
    time.sleep(0.2)  # 停顿0.2然后继续

效果就是屏幕上面"#"号是一个一个的蹦出来的。

时间: 2024-10-09 13:00:45

Python实现屏幕输出进度条的方法的相关文章

python实现简单的进度条的方法

import sys for i in range(101):     s="\r%d%% %s"%(i,"#"*i)   #\r表示回车但是不换行,利用这个原理进行百分比的刷新     sys.stdout.write(s)       #向标准输出终端写内容     sys.stdout.flush()        #立即将缓存的内容刷新到标准输出     import time     time.sleep(0.1)           #设置延迟查看效果

python实现显示安装进度条

一直很好奇那种安装进度条,或者启动程序时候显示的进度条是怎么实现的,学习了python之后,sys模块中有个方法可以实现,代码如下: 1 2 3 4 5 6 import sys,time for i in range(50):#循环50次 sys.stdout.write('#')#向终端输出# #在这中间就可以做你想要的处理了,处理完之后结束循环即可 sys.stdout.flush()#立即输出,如果不加这个的话,它会等缓冲区满了之后才显示 time.sleep(1)#sleep一秒再输出

python手写实现进度条

哈哈哈,我们平时都经常见到python的进度条,安装pip包的时候,更新的时候,调用第三方库的时候,,,但是很少有人试过自己实现,今天来了兴趣就自己写一套哈哈哈 进度条的输出是在原地刷新的,所以用到输出的‘\r’和time库的sleep(),‘\r’即“换行,光标在上一行”.这里提供两种方法: ————使用print() for i in range(0,101,2):    print('\r----->>',i, '<<-----',end = "", fl

Python:如何显示进度条

进度条和一般的print区别在哪里呢? 答案就是print会输出一个\n,也就是换行符,这样光标移动到了下一行行首,接着输出,之前已经通过stdout输出的东西依旧保留,而且保证我们在下面看到最新的输出结果. 进度条不然,我们必须再原地输出才能保证他是一个进度条,否则换行了怎么还叫进度条? 最简单的办法就是,再输出完毕后,把光标移动到行首,继续在那里输出更长的进度条即可实现,新的更长的进度条把旧的短覆盖,就形成了动画效果. 可以想到那个转义符了吧,那就是 \r. 转义符\r就可以把光标移动到行首

python实现验证码与进度条

验证码 # python 实现验证码 import random n = 5 lis = list() count = 0 while count<n: count+=1 lis.append(str(random.randint(0,9))) lis.append(chr(random.randint(65,90))) lis.append(chr(random.randint(97,122))) lis2 = random.sample(lis,n) print(lis2) lis1 = '

python中pyqt5的进度条--python实战(十)

python太博大精深了,使用场景非常多.最近笔者一直使用PyQt5编一些小程序,顺便就把一些常用的东西列出来,做个记录和积累吧.进度条是非常常用的东西,今天用的时候,顺便温习了一下,这个东西自己感觉没啥可讲的,最好的办法就是例子来说明:下面给一个简单的例子. 基本进度条使用: 进度条的函数如下: self.pbar = QProgressBar(self) //进度条的定义 self.pbar.setGeometry(30, 60, 100, 30) //进度条的大小和位置,前两个是位置,后两

VideoView--简单获取进度条的方法

使用MediaController类就可以简单的把视频中的进度条加进去 实例: 现在布局哪里放一个VideoView,然后: videoView = (VideoView) findViewById(R.id.videoView1); MediaController mc = new MediaController(Video.this);//Video是我类名,是你当前的类 videoView.setMediaController(mc);//设置VedioView与MediaControll

python中精确输出JSON浮点数的方法

有时需要在JSON中使用浮点数,比如价格.坐标等信息.但python中的浮点数相当不准确, 例如下面的代码: 复制代码代码如下: #!/usr/bin/env python import json as json data = [ 0.333, 0.999, 0.1 ]print json.dumps(data) 输出结果如下: 复制代码代码如下: $ python floatjson.py[0.33300000000000002, 0.999, 0.10000000000000001] 能不能

Python基本数据类型-文本进度条

import time scale=50 print("执行开始".center(scale//2,"-")) start=time.perf_counter() for i in range(scale+1): a='*'*i b='.'*(scale-i) c=(i/scale)*100 dur=time.perf_counter()-start print("\r{:^3.0f}%[{}->{}]{:.2f}s".format(c,a