我有一个python函数,可以从某些传感器数据文件中提取图像。该功能循环遍历图像并顺序提取它们。
传感器数据文件中大约有25000张图像。该号码不是固定的。但是我有一个变量,可以动态存储消息/图像的数量。
我想不使用任何外部库来设计进度条。进度条的打印百分比以“#”字符完成,类似于:
进度53%:########################
如何标准化1-100%之间的图像数量?
答案 0 :(得分:0)
让百分比在IDLE内部运行时,实际上没有一种很好的方法(因为空闲不支持任何清除或\b
)。
因此,我只是将其设置为可视进度条:
from __future__ import print_function
import time
class Progress():
def __init__(self, total_images):
self.total_images = total_images
self.bar_width = 5
self.previous = 0
self.prompt = "Progress: "
print(self.prompt, end='')
def update(self, image_number):
percentage = float(image_number) / total_images
number_of_ticks = percentage * self.bar_width
delta = int(number_of_ticks - self.previous)
self.previous = int(number_of_ticks)
if delta > 0:
print("#" * delta, end='')
total_images = 10
progress_bar = Progress(total_images)
for current_image in range(1, total_images+1):
progress_bar.update(current_image)
time.sleep(.1)
输出:
Progress: #####
如果您想要更长的条,则可以修改self.bar_width
属性。 (可选)您可以将所有这些添加为参数,但是我不确定您认为哪些有用。