当前位置:   article > 正文

python实现进度条_python进度条设计函数代码

python进度条设计函数代码

也可以使用tqdm封装好的库函数。参考python实现进度条,自编码_两只蜡笔的小新的博客-CSDN博客

  1. import time
  2. class processBarSelf(object):
  3. def __init__(self, bar_size=35, decimal=2):
  4. """
  5. :param decimal: 保留的保留小数位
  6. :param bar_size: #的个数
  7. """
  8. self.decimal = decimal
  9. self.bar_size = bar_size
  10. self.increase_step = 100 / bar_size # 在百分比 为几时增加一个 * 号
  11. self.biase = 50/bar_size*2
  12. self.start = True
  13. self.last_perf_counter = time.perf_counter()
  14. def __call__(self, now, total):
  15. # 时间管理
  16. if self.start:
  17. self.start = False
  18. self.last_perf_counter = time.perf_counter()
  19. total = total - 1 #最后一的误差
  20. # 1. 获取当前的百分比数
  21. percentage = self.percentage_number(now, total)
  22. # 2. 根据 现在百分比计算
  23. well_num = int(percentage / self.increase_step)
  24. # 3. 打印字符进度条
  25. progress_bar_num = self.progress_bar(well_num)
  26. # 5. 计算时间
  27. dur = time.perf_counter() - self.last_perf_counter
  28. remain = dur/(now+0.001)*(total-now)
  29. velocity = now/dur
  30. # 5. 完成的进度条
  31. result = "\r{:^3.0f}%{} {:d}/{:d} {:.2f}it/s [{:.2f}s {:.2f}s]".format(well_num*self.biase, progress_bar_num,now,total,velocity,dur,remain)
  32. return result
  33. def percentage_number(self, now, total):
  34. """
  35. 计算百分比
  36. :param now: 现在的数
  37. :param total: 总数
  38. :return: 百分
  39. """
  40. return round(now / total * 100, self.decimal)
  41. def progress_bar(self, num):
  42. """
  43. 显示进度条位置
  44. :param num: 拼接的 “#” 号的
  45. :return: 返回的结果当前的进度条
  46. """
  47. # 1. "#" 号个数
  48. well_num = "*" * num
  49. # 2. 空格的个数
  50. b = "." * (self.bar_size - num)
  51. return "[{}->{}]".format(well_num, b)
  52. if __name__ == '__main__':
  53. index = processBarSelf()
  54. start = 500
  55. for i in range(start):
  56. print(index(i, start), end='')
  57. time.sleep(0.01)
  58. # \r 返回本行开头
  59. # end : python 结尾不加任何操作, 默认是空格

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/243119?site
推荐阅读
相关标签
  

闽ICP备14008679号