簡體   English   中英

按獲取的百分比刷新tqdm進度條

[英]Refresh tqdm progress bar by obtained percentage

我制作了一個用python加密文件的程序。 我想在 tqdm 中制作一個確定的進度條。 如何按從輸入文件大小和輸出文件大小獲得的百分比刷新進度條? (程序將加密后的文件處理成擴展名為 .tmp 的文件,當加密過程終止時,將 tmp 文件重命名為原始文件)。

坦率地說,我不知道我是否理解您的問題,因為在tqdm 的文檔中,您可以找到顯示如何使用.update()示例

如果你設置total=100那么如果你使用update(10)那么它會增加10%到當前值

from tqdm import tqdm
from time import sleep

with tqdm(total=100) as pbar:
    for i in range(10):
        sleep(0.2)
        pbar.update(10)

如果您需要從100%更改為0%那么您可以設置initial=100並在update(-10)使用負值

from tqdm import tqdm
from time import sleep

with tqdm(total=100, initial=100) as pbar:
    for i in range(10):
        sleep(0.2)
        pbar.update(-10)

但也許您不想添加到當前值而是直接設置當前值。 它可能需要更改pbar.n並運行pbar.refresh() 我使用隨機值來顯示它。

from tqdm import tqdm
from time import sleep
import random

with tqdm(total=100) as pbar:
    for i in range(10):
        sleep(0.2)
        pbar.n = random.randint(0, 100)
        pbar.refresh()

順便提一句:

如果您需要更多東西,那么您還可以檢查源代碼以了解它是如何工作的。
這樣我找到了pbar.n

如果您只想顯示barpercentage而不顯示average time等,那么您可以使用bar_format=

with tqdm(total=100, bar_format='[{bar:20}] {percentage:3.0f}%') as pbar:

# [████████████        ]  60%

在代碼中也嘗試help(tqdm)以獲取更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM