Python改变Tqdm栏样式

Noa*_* Be 6 python tqdm

是否可以将 tqdm 栏从

\n
[Step 1]: 100%|\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88  | 109/109 [00:03<00:00, 32.46it/s]\n
Run Code Online (Sandbox Code Playgroud)\n

类似的东西

\n
[Step 1]: 100%[==========================>  ] 109/109 [00:03<00:00, 32.46it/s]\n
Run Code Online (Sandbox Code Playgroud)\n

小智 15

for i in range tqdm(<iterator>, total=<>, ascii=' >='):\n    <your code here>\n
Run Code Online (Sandbox Code Playgroud)\n

这应该可以解决问题,ascii参数读取第一个字符是填充字符,即这里的空格,您可以使用其他字符,例如ascii =“\ xe2 \ x96 \ x91 \ xe2 \ x96 \ x92 \ xe2 \ x96 \x88" 并且该栏看起来像

\n
0%[\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91]\n
Run Code Online (Sandbox Code Playgroud)\n

最后一个字符是当进度条前进一定量时填充的字符,例如

\n
30%[\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91]\n
Run Code Online (Sandbox Code Playgroud)\n

虽然您在中间放置的任何角色都将在其进展时填充,例如从 30% 移动到 40% 时。

\n
35%[\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x92\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91\xe2\x96\x91]\n
Run Code Online (Sandbox Code Playgroud)\n

我希望这能解释你的问题,你可以在中间有多个进步的角色,比如

\n
ascii=" \xe2\x96\x96\xe2\x96\x98\xe2\x96\x9d\xe2\x96\x97\xe2\x96\x9a\xe2\x96\x9e\xe2\x96\x88"\n
Run Code Online (Sandbox Code Playgroud)\n

尝试一下这个,如果您的控制台支持所有 Unicode 字符,那么观看这一进展真的很有趣。

\n


bur*_*ran 1

您可以ascii在实例化栏时传递参数。第一个字符是空字符,第二个字符是填充字符。

from tqdm import tqdm
from time import sleep
with tqdm(total=100, ascii=' =') as pbar:
    for i in range(10):
        sleep(0.1)
        pbar.update(10)
Run Code Online (Sandbox Code Playgroud)