欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用Python做出进度条的效果

程序员文章站 2022-06-22 08:32:16
使用Python3在控制台上输出进度条,模拟下载。...

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

实现效果:
使用Python做出进度条的效果
使用Python做出进度条的效果

注意,这里不需要任何第三方库文件,只需要一台电脑,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做出进度条的效果

本文地址:https://blog.csdn.net/PanDaoxi2020/article/details/107246315