Python Progressbar(PyPi)显示随update()更改的自定义文本

2024-04-23 18:50:23 发布

您现在位置:Python中文网/ 问答频道 /正文

嘿,我在用pypi的progressbar包,我真的很喜欢它。我的问题是到目前为止我还没有找到显示自定义文本的方法。我的意思是显示当我调用pbar.update()时发生变化的文本

例如,如果我递归地扫描计算机中的文件,我希望进度条更改为当前文件。在

widgets = [CustomText(), ' ', Percentage(), ' ', Bar('/'), ' ', RotatingMarker()]
pbar = ProgressBar(widgets=widgets, maxval=1000)
pbar.start()

pbar.update(0, "custom_string")

像这样的事情对我最好。但是由于update函数只接受一个数字,我不确定如何在不改变进度条库本身的情况下实现这样的功能。在

提前谢谢


Tags: 文件方法进度条文本pypi计算机barupdate
1条回答
网友
1楼 · 发布于 2024-04-23 18:50:23

我试图在FormatLabel小部件中使用update方法来更改标签的内容,但它对我无效。但是,将FormatLabel替换为一个全新的对象对我有效:

from progressbar import *
import time

widgets = [FormatLabel(''), ' ', Percentage(), ' ', Bar('/'), ' ', RotatingMarker()]
progressbar = ProgressBar(widgets=widgets, maxval=10)
progressbar.start()
for i in range(0, 11):
    widgets[0] = FormatLabel('<filename-{0}>'.format(i))
    progressbar.update(i)
    time.sleep(.5)
progressbar.finish()

相关问题 更多 >