如何用mpb制作两行进度条? (戈朗)

问题描述 投票:0回答:0

我正在尝试使用 mpb 制作两行进度条。

假设我有一个包含文件绝对路径的切片。

list := []string{"C:\Temp\01.png",  "C:\Temp\02.png",  "C:\Temp\03.png",  "C:\Temp\test.png",  "C:\Temp\test01.png"}

我希望它像这样显示:

Processing 01.png ...
0 / 5 [                    ] 0%
Processing 02.png ...
1 / 5 [==                  ] 20%
Processing 03.png ...
2 / 5 [====                ] 40%

等等。

Processing ...部分和进度条分开的原因是:

  1. 我想显示有关当前处理状态的附加信息。
    Processing 01.png ... [Mode: WebP]
    0 / 5 [                    ] 0%
    
  2. 有时,我必须处理同一个文件两次。
    Processing 01.mp4 ... [Mode: WebM] [Pass: 1/2]
    0 / 5 [                    ] 0%
    
    Processing 01.mp4 ... [Mode: WebM] [Pass: 2/2]
    0 / 5 [                    ] 0%
    
    请注意,进度条没有改变。
  3. 我也想一次制作多个进度条。
    Processing 01.mp4 ... [Mode: WebM] [Pass: 1/2]
    4 / 5 [================    ] 0%
    Processing 01.png ... [Mode: WebP]
    2 / 5 [========            ] 0%
    Processing DONE [Mode: MP3]
    5 / 5 [====================] 100%
    
    每个进度条都应该在发生变化时尽快更新,而不是“每 0.5 秒更新每个进度条”。

我找不到这样做的方法。 mpb 的每个示例代码都在单行中完成它的工作。

go progress-bar
© www.soinside.com 2019 - 2024. All rights reserved.