今天我们来使用Python做出进度条的效果。

实现效果:

使用Python做出进度条的效果_嵌套

使用Python做出进度条的效果_嵌套_02


注意,这里不需要任何第三方库文件,只需要一台电脑,Windows系统,和Python3。


代码很简单,只需要双重for循环range()

步骤:

1.我们首先需要学会打出特殊符号:▉(完整方块,在这里直接复制即可)。

2.接着我们打开开发工具,创建一个新的、空白的Python文档。

3.输入代码如下:

from time import sleep #导入sleep延时
from os import system #导入 os.system()
products = ['产品1','产品2','产品3'] #创建products列表,里面放入模拟下载的文件

#创建下载完成后函数
def isDownloadOkay(product):
#生成VBS文本框
with open('box.vbs','w+',encoding = 'ANSI') as file:
#下面是一句VBS代码
file.write('Msgbox "下载完成!"+chr(13)+"您下载的文件是:{0}",64,"通知"'.format(product))
#下面是一句批处理命令,打开程序后延时2秒删除掉它,因为它是临时文件
system('call "box.vbs" & ping 127.0.1 /n 2 >nul & del /q /s /f "box.vbs" >nul')

if len(products) != 0: #判断列表长度是否不等于0
for product in products: #嵌套第一层循环
print('正在从 Internet 上下载:{0}。\n下载进度:\n'.format(product))
#输出信息
for download in range(1,101): #嵌套第二层循环
print('{0}({1}%)'.format(download * '▉',float(download)))
#输出进度条
sleep(0.2)
#延时 0.2 秒
if download == 100:
print('\n{0}的下载任务已经完成!\n'.format(product))
isDownloadOkay(product = product)
else: #如果列表长度等于0
print('您当前的产品列表长度为0,无法下载。')
#输出信息

代码写完了。

有很多朋友应该会问:为啥必须要用VBS临时文件的方法而不用​​tkinter.messagebox.showinfo(title,message)​​呢?那样多简单,只需要一门代码就够了。其实这么做也是可以的,但是会影响效果,使用时一次会弹出两个框,效果不好。我建议大家在使用messagebox时,使用上Tk,效果不错。

使用Python做出进度条的效果_嵌套_03


注:当时不太懂,后期才知道了。