使用python制作游戏下载进度条的代码(程序说明见注释)

yipeiwu_com6年前Python基础

import time
# time模块中包含了许多与时间相关的模块,其中通过time()函数可以获取当前的时间。
count = 100
print("开始下载".center(100, '-'))
start = time.perf_counter()
# 通过time()函数可以获取当前的时间并付给变量start
for i in range(count + 1):
 a = "■" * i
 # 用■的个数来具体化已经下载完的进度。■在输入法里的特殊符号里。
 b = " " * (count - i)
 # 用一个空格的个数来具体化未完成下载的进度
 c = (i / count) * 100
 #c的值表示10%,50%中的10和50.
 res = time.perf_counter() - start
 # 执行完一次for循环所需要的时间。但time.time(),time.perf_counter()记录时间的精确不高,因此要借助time.sleep(0.1)来符合它们的精确度,好让它们记录。
 print(f"\r{c:.2f}%[{a}{b}]{res:.2f}s", end="")
 #\r 表示将光标的位置回退到本行的开头位置。即光标永远处于本行开头。
 # end = '\n'是把光标换行。end = ""是不换行。不加\r则在一行上输出所有数据。加\r会让数据迭代更新(类似变量赋值,可以对同一个赋值,但以最终的数据,最新的数据为准)
 time.sleep(0.1)
 # time.sleep(秒数),让程序休眠/延迟。其中“秒数”以秒为单位,可以是小数,0.1秒则代表休眠100毫秒。
 # 不加这条命令,因为cpu处理数据的速度极快(速度和时间成正比,速率),会让time.time()记录的时间精确度不高(**导致不能记录下cpu的运行时间**),休眠即可解决这个问题。
print("下载完成".center(100, '-'))

ps:python实现显示安装进度条

一直很好奇那种安装进度条,或者启动程序时候显示的进度条是怎么实现的,学习了python之后,sys模块中有个方法可以实现,代码如下:

  import sys,time
  for i in range(50):#循环50次
    sys.stdout.write('#')#向终端输出#
    #在这中间就可以做你想要的处理了,处理完之后结束循环即可
    sys.stdout.flush()#立即输出,如果不加这个的话,它会等缓冲区满了之后才显示
    time.sleep(1)#sleep一秒再输出,输出太快的话就看不到效果了

总结

以上所述是小编给大家介绍的使用python制作游戏下载进度条,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

使用python 打开文件并做匹配处理的实例

如下所示: import os import re import string file = open("data2.txt") p1 = re.compile(r"^(\d...

python实现多线程网页下载器

本文为大家分享了python实现的一个多线程网页下载器,供大家参考,具体内容如下 这是一个有着真实需求的实现,我的用途是拿它来通过 HTTP 方式向服务器提交游戏数据。把它放上来也是想大...

如何分离django中的媒体、静态文件和网页

django项目中,占很大体积的是静态文件,媒体文件还有html代码,那我们该如何把它们分离出来以方便我们和服务器去管理和使用它们。 static 文件 static ,顾名思义就是静态...

Python自动发邮件脚本

Python自动发邮件脚本

缘起 这段时间给朋友搞了个群发邮件的脚本,为了防止进入垃圾邮件,做了很多工作,刚搞完,垃圾邮件进入率50%,觉得还不错,如果要将垃圾邮件的进入率再调低,估计就要花钱买主机了,想想也就算了...

Python基于回溯法子集树模板解决取物搭配问题实例

Python基于回溯法子集树模板解决取物搭配问题实例

本文实例讲述了Python基于回溯法子集树模板解决取物搭配问题。分享给大家供大家参考,具体如下: 问题 有5件不同的上衣,3条不同的裤子,4顶不同的帽子,从中取出一顶帽子、一件上衣和一条...