Python3 实现进度条

Python3 实现进度条,第1张

概述要实现进度条,首先要先搞清楚进度条的原理是什么本质上,进度条就是在 print 输出的时候没有换行,一直在固定的位置刷新输出的值,那这是怎么做到的呢?这就涉及到文本系统的控制符了r:   将光标移动到当前行的首位而不换行n:   将光标移动到下一行,并不移动到首位rn: 将光标移动到下一行首位彻底搞清楚了上面的控制符,进度条也就完成一半了,接下来就是实际的编码了,下面实现了 n 中进度条的...

要实现进度条,首先要先搞清楚进度条的原理是什么

本质上,进度条就是在 print 输出的时候没有换行,一直在固定的位置刷新输出的值,那这是怎么做到的呢?

这就涉及到文本系统的控制符了

\r:   将光标移动到当前行的首位而不换行\n:   将光标移动到下一行,并不移动到首位\r\n: 将光标移动到下一行首位

彻底搞清楚了上面的控制符,进度条也就完成一半了,接下来就是实际的编码了,下面实现了 n 中进度条的样式

#!/usr/bin/env python3# -*- Coding: UTF-8 -*-import timedef progress_bar(num):    j = "#"; k = "="; t = "|/-\"; #s = " " * (num + 1)    for i in range(0,num + 1):        j += "#"; k += "="; s = ("=" * i) + (" " * (num - i))                #print(int(i/num*100),end='%\r')        #print('%.2f' % (i/num*100),end='%\r')        #print('%.2f' % (i*100/num),end='%\r')        #print('complete percent:',time.strftime("%Y-%m-%d %H:%M:%s",\        #        time.localtime()),int((i/num)*100),end='%\r')        #print(str(int(i/num*100)) + '% ' + j + '->',end='\r')        #print(k + ">" + str(int(i/num*100)),end='%\r')        #print("[%s]" % t[i%4],end='\r')        #print("[%s][%s][%.2f" % (t[i%4],k,(i/num*100)),"%]",end='\r')        print("[%s][%s][%.2f" % (t[i%4],s,end='\r')        time.sleep(0.1)    print()progress_bar(32)'''# 除了自己实现以外,Python 还提供了Tqdm 模块# Tqdm 是一个快速、扩展性强的进度条工具库,它提供了非常多的接口,有兴趣的小伙伴可以了解一下# GitHub 地址是:https://github.com/tqdm/tqdm# 我们来看下,如何使用 Tqdm 模块来实现进度条# 首先是安装:pip install tqdm'''#from tqdm import tqdm#for i in tqdm(range(1,500)):#    sleep(0.01)

运行结果:



参考文章:https://www.cnblogs.com/jsben/p/5792952.html

https://blog.csdn.net/u013832707/article/details/73608504

https://blog.csdn.net/yuehailin/article/details/53999288

总结

以上是内存溢出为你收集整理的Python3 实现进度条全部内容,希望文章能够帮你解决Python3 实现进度条所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1189721.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存