python手写实现进度条

哈哈哈,我们平时都经常见到python的进度条,安装pip包的时候,更新的时候,调用第三方库的时候,,,但是很少有人试过自己实现,今天来了兴趣就自己写一套哈哈哈

进度条的输出是在原地刷新的,所以用到输出的‘\r’和time库的sleep(),‘\r’即“换行,光标在上一行”。这里提供两种方法:

————使用print()

for i in range(0,101,2):    print(‘\r----->>‘,i, ‘<<-----‘,end = "", flush=True)  time.sleep(0.1)

————使用sys.stdout.write()

import sys_out = sys.stdoutfor i in range(0,101,2):  _out.write(‘\r‘+‘-->>‘+str(i)+‘<<--‘)  time.sleep(0.1)

接下来我们提升点难度,把百分比进度条图形加上,

c = ‘#‘p = ‘_‘for iter in range(0,101,2):    prc  = c* iter + p *(100-iter)     print(‘\r‘,prc,‘-->>‘ ,iter, ‘<<--‘, end=‘‘, flush=True)    time.sleep(0.05)

原文地址:https://www.cnblogs.com/dynmi/p/12232027.html

时间: 2024-12-11 12:38:07

python手写实现进度条的相关文章

Python 手写数字识别-knn算法应用

在上一篇博文中,我们对KNN算法思想及流程有了初步的了解,KNN是采用测量不同特征值之间的距离方法进行分类,也就是说对于每个样本数据,需要和训练集中的所有数据进行欧氏距离计算.这里简述KNN算法的特点: 优点:精度高,对异常值不敏感,无数据输入假定 缺点:计算复杂度高,空间复杂度高 适用数据范围:数值型和标称型(具有有穷多个不同值,值之间无序)    knn算法代码: #-*- coding: utf-8 -*- from numpy import * import operatorimport

Python:如何显示进度条

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

h5实现手机端等级进度条

h5实现等级进度条 需求如下: 实现一个动画进度条,页面一打开实现一个进度条动画,因为App这个页面会经常改,所以没有使用原审Android或者IOS来实现,希望通过H5来做: 服务器端返回如下数据: var Config = { // 等级大图片url地址 courierRankBigUrl: 'images/grade2-icon.png', // 配送员等级名称 courierRankName: '3级鲜锋官', // 同时可接单数 courierCanPackgeCountDoing:

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 实现验证码 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) //进度条的大小和位置,前两个是位置,后两

自己写的进度条

namespace Demo { public partial class Form1 : Form { public Form1() { InitializeComponent(); } string AllFile = string.Empty; ServiceReference1.UploadFileSoapClient soap = new ServiceReference1.UploadFileSoapClient(); private void button1_Click(objec

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

一般输出到屏幕的时候是一组数据一次性全部显示出来得.这是因为电脑为了提高效率,数据会先暂时放入缓存,等缓存满了或者操作结束了,再一次性将数据进行处理. 类似进度条的情况需要字符一次一个的蹦出来,这时候就需要使用flush()来强制执行这个处理缓存内数据的操作. 上课讲文件flush()的时候,最后提到了这个.就先抄下来了. import sys,time for i in range(20):     sys.stdout.write("#")  # 调用sys在屏幕输出     sy

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)           #设置延迟查看效果