Python实现倒计时、转圈显示、进度条功能,如何巧妙地一招多用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1343个文字,预计阅读时间需要6分钟。
目录前言步入正题
1.条件加载
2.倒计时显示
3.转圈等待
4.进度条显示
进度条改进版升级版tqdm模块progressbar模块总结前言在Python中,print函数是重要的输出语句,让我们能够看到程序的运行状态和结果。本文将介绍几种常用的进度条显示方法,包括使用tqdm和progressbar模块。步入正题
1.条件加载
2.倒计时显示
3.转圈等待
4.进度条显示
进度条改进版升级版tqdm模块progressbar模块总结前言print函数是Python中最常用的输出语句之一,它允许我们在控制台中显示信息。了解和使用print函数对于调试和查看程序运行状态至关重要。目录
- 前言
- 步入正题
- 1、横条加载
- 2、倒计时显示
- 3、转圈等待显示
- 4、进度条显示
- 进度条改进版
- 进度条升级版
- tqdm模块
- progressbar模块
- 总结
前言
在python中,print是重要的输出语句,让我们更方便的知道程序的运行状况,但是这样还不够,我们也可以用print来给周围的小伙伴秀一下
步入正题
\r表示将光标的位置回退到本行的开头位置\b表示将光标的位置回退一位
1、横条加载
num = 20 for i in range(num): print("#")
打印结果:
#
#
#
#
。。。。(此处省略剩下16个 #)
结果发现这样很丑,达不到我们的预期,所以,在print里面,我们有一个flush,是及时刷新的意思,默认为False,只有所有内容都有来然后一次性打印出来,为True时是及时更新print的信息
import time num = 20 for i in range(num): print("#", end="", flush=True) time.sleep(0.1)
这次我们加上time中延迟的sleep来综合试一下
打印结果:
2、倒计时显示
import time for i in range(5, 0, -1): print("\r", "倒计时{}秒!".format(i), end="", flush=True) time.sleep(1)
打印结果:
在print中,\r就可以让打印之后有重新回到本行开头的位置继续打印,相当于重新刷了一遍,但是我们不难发现,倒计时前面有个小空缺,那是因为"\r"占了一个小位置,所以我们把代码重新改造一下。
import time for i in range(5, 0, -1): print("\r倒计时{}秒!".format(i), end="", flush=True) time.sleep(1) print("\r倒计时结束!")
打印结果:
3、转圈等待显示
话不多说直接上代码
import time sum = 10 # 设置倒计时时间 timeflush = 0.25 # 设置屏幕刷新的间隔时间 for i in range(0, int(sum/timeflush)): list = ["\\", "|", "/", "—"] index = i % 4 print("\r程序正在运行 {}".format(list[index]), end="") time.sleep(timeflush)
运行结果:
4、进度条显示
import time days = 365 for i in range(days): print("\r进度条百分比:{}%".format(round((i + 1) * 100 /days)), end="", flush=True) time.sleep(0.02)
打印结果:
进度条改进版
import time num = 50 #设置倒计时时间 timeflush = 0.5 #设置屏幕刷新的间隔时间 for i in range(0, int(num/timeflush)+1): print("\r正在加载:" + "|" + "*" * i + " "*(int(num/timeflush)+1-i)+"|" + str(i)+"%", end="") time.sleep(timeflush) print("\r加载完成!")
打印结果:
进度条升级版
我们通过加入一些进度条模块,可以实现进度条炫酷的效果
tqdm模块
我们在cmd中下载tqdm模块
pip install tqdm
我们在pycharm中加入tqdm模块
勾选Install to user's site packages directory
点击Install Package
然后代码如下:
from tqdm import tqdm for i in tqdm(range(10000)): pass
运行结果:
这里根据每个电脑的不同而范围不同,电脑性能好的同学可以适当的值调大,这样会显示最佳的体验效果
progressbar模块
现在cmd中下载progressbar模块,命令是
pip install progressbar
即可安装成功
然后在pycharm中安装progressbar模块
勾选Install to user's site packages directory
点击Install Package
代码如下:
from progressbar import * import time pro = ProgressBar() # 将progressbar中的ProgressBar实例化 for i in pro(range(1000)): time.sleep(0.01)
运行结果:
我的电脑不知道怎么回事,正常的画面加载不出来,但是不影响程序,程序是对的,我在 time.sleep(0.01)下面加了个print()就是这个样子,要不然加载条不出来。同学可以自己查查资料哟
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。
本文共计1343个文字,预计阅读时间需要6分钟。
目录前言步入正题
1.条件加载
2.倒计时显示
3.转圈等待
4.进度条显示
进度条改进版升级版tqdm模块progressbar模块总结前言在Python中,print函数是重要的输出语句,让我们能够看到程序的运行状态和结果。本文将介绍几种常用的进度条显示方法,包括使用tqdm和progressbar模块。步入正题
1.条件加载
2.倒计时显示
3.转圈等待
4.进度条显示
进度条改进版升级版tqdm模块progressbar模块总结前言print函数是Python中最常用的输出语句之一,它允许我们在控制台中显示信息。了解和使用print函数对于调试和查看程序运行状态至关重要。目录
- 前言
- 步入正题
- 1、横条加载
- 2、倒计时显示
- 3、转圈等待显示
- 4、进度条显示
- 进度条改进版
- 进度条升级版
- tqdm模块
- progressbar模块
- 总结
前言
在python中,print是重要的输出语句,让我们更方便的知道程序的运行状况,但是这样还不够,我们也可以用print来给周围的小伙伴秀一下
步入正题
\r表示将光标的位置回退到本行的开头位置\b表示将光标的位置回退一位
1、横条加载
num = 20 for i in range(num): print("#")
打印结果:
#
#
#
#
。。。。(此处省略剩下16个 #)
结果发现这样很丑,达不到我们的预期,所以,在print里面,我们有一个flush,是及时刷新的意思,默认为False,只有所有内容都有来然后一次性打印出来,为True时是及时更新print的信息
import time num = 20 for i in range(num): print("#", end="", flush=True) time.sleep(0.1)
这次我们加上time中延迟的sleep来综合试一下
打印结果:
2、倒计时显示
import time for i in range(5, 0, -1): print("\r", "倒计时{}秒!".format(i), end="", flush=True) time.sleep(1)
打印结果:
在print中,\r就可以让打印之后有重新回到本行开头的位置继续打印,相当于重新刷了一遍,但是我们不难发现,倒计时前面有个小空缺,那是因为"\r"占了一个小位置,所以我们把代码重新改造一下。
import time for i in range(5, 0, -1): print("\r倒计时{}秒!".format(i), end="", flush=True) time.sleep(1) print("\r倒计时结束!")
打印结果:
3、转圈等待显示
话不多说直接上代码
import time sum = 10 # 设置倒计时时间 timeflush = 0.25 # 设置屏幕刷新的间隔时间 for i in range(0, int(sum/timeflush)): list = ["\\", "|", "/", "—"] index = i % 4 print("\r程序正在运行 {}".format(list[index]), end="") time.sleep(timeflush)
运行结果:
4、进度条显示
import time days = 365 for i in range(days): print("\r进度条百分比:{}%".format(round((i + 1) * 100 /days)), end="", flush=True) time.sleep(0.02)
打印结果:
进度条改进版
import time num = 50 #设置倒计时时间 timeflush = 0.5 #设置屏幕刷新的间隔时间 for i in range(0, int(num/timeflush)+1): print("\r正在加载:" + "|" + "*" * i + " "*(int(num/timeflush)+1-i)+"|" + str(i)+"%", end="") time.sleep(timeflush) print("\r加载完成!")
打印结果:
进度条升级版
我们通过加入一些进度条模块,可以实现进度条炫酷的效果
tqdm模块
我们在cmd中下载tqdm模块
pip install tqdm
我们在pycharm中加入tqdm模块
勾选Install to user's site packages directory
点击Install Package
然后代码如下:
from tqdm import tqdm for i in tqdm(range(10000)): pass
运行结果:
这里根据每个电脑的不同而范围不同,电脑性能好的同学可以适当的值调大,这样会显示最佳的体验效果
progressbar模块
现在cmd中下载progressbar模块,命令是
pip install progressbar
即可安装成功
然后在pycharm中安装progressbar模块
勾选Install to user's site packages directory
点击Install Package
代码如下:
from progressbar import * import time pro = ProgressBar() # 将progressbar中的ProgressBar实例化 for i in pro(range(1000)): time.sleep(0.01)
运行结果:
我的电脑不知道怎么回事,正常的画面加载不出来,但是不影响程序,程序是对的,我在 time.sleep(0.01)下面加了个print()就是这个样子,要不然加载条不出来。同学可以自己查查资料哟
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

