Python动态进度条I
开始我们的第一个Python程序。
显示一个动态进度条,在同一个位置显示从1%到100%
源代码附上来:
import sys #有关Python运行环境的变量和函数import time #时间模块def progress_bar(): for i in range(1,101): #for in 循环 print('',end ="") #当print函数指定end=""时,表示不换行,再使用""将光标移至当前行首,相当于覆盖了之前打印出来的东西 # print("正在下载中,稍等一下:{}%".format(i),"■"*(i//2),end ='') print(f"正在下载中,稍等一下:{i}%","■"*(i//2),end ='') sys.stdout.flush() #强行刷新缓冲区,显示新内容 time.sleep(0.1) #暂停0.1秒scale = 100print("执行开始,祈祷不报错".center(scale//2, "-")) #居中显示progress_bar()print(""+"执行结束了,我可真牛逼啊".center(scale//2,"-"))
说明:先看一下回车符""的含义:
表示将光标的位置回退到本行的开头位置
当print函数指定end=""时,表示不换行,再使用""将光标移至当前行首,相当于覆盖了之前显示的内容,看起来相当于只有数字百分比在变化,从而实现了动态显示。
当执行print语句输出时,将被写入缓冲区。
缓冲区的刷新方式有三种:
· flush()刷新缓存区
· 缓冲区满时,自动刷新
· 文件关闭或者是程序结束自动刷新
当缓冲区被刷新时,我们将在屏幕上看到输出。 默认情况下,当程序退出时,缓冲区将被刷新。但是我们也可以通过在程序中使用"sys.stdout.flush()"语句来手动强制刷新缓冲区,从而获得显示输出。
