python打印进度条
第一种
import sys
import time
def progress(percent,width=50):
'''进度打印功能'''
if percent >= 100:
percent=100
show_str=('[%%-%ds]' %width) %(int(width * percent/100)*"#") #字符串拼接的嵌套使用
print('\r%s %d%%' %(show_str,percent),end='')
#=========应用==========
data_size=3030333 #定义传输的数据,实际应用中这个值改一下就可以了
recv_size=0
while recv_size < data_size:
time.sleep(0.01) #模拟数据的传输延迟
recv_size+=1024 #每次收1024
recv_per=int(100*recv_size/data_size) #接收的比例
progress(recv_per,width=30) #调用进度条函数,进度条的宽度默认设置为30
第二种:
import time
dev_srt=0
dev_total=33333
while dev_srt<dev_total :
time.sleep(0.1)
dev_srt+=1024
if dev_srt >dev_total:
dev_srt=dev_total
# print(dev_srt)
per=dev_srt/dev_total
res=int(30*per)*'#'
print('\r[%-30s] %d%%' %(res,int(100*per)),end='')