#=========知识储备==========
#指定宽度
print('<%-10.3f>' %3.22) #总宽度为10,保留3位小数点
#打印结果
#<3.220 >
#打印%号,用%%
width=10
print('<%%-%ds>' %width)
#打印结果
# <%-10s>
#嵌套的%
width=10
print(('<%%-%ds>' %width) %('hello'))
#打印结果
# <hello >
#=========实现打印进度条函数==========
import sys
import time
def progress(percent,width=50):
if percent >= 100:
percent=100
show_str=('[%%-%ds]' %width) %(int(width * percent / 100) * "#") #字符串拼接的嵌套使用
print("
%s %d%%" %(show_str, percent),end='',file=sys.stdout,flush=True)
#=========应用==========
data_size=3030333
recv_size=0
while recv_size < data_size:
time.sleep(0.001) #模拟数据的传输延迟
recv_size+=1024 #每次收1024
recv_per=int(100*(recv_size/data_size)) #接收的比例
progress(recv_per,width=30) #进度条的宽度30