tqdm中遇到的問題

2022-05-09 03:15:11 字數 1766 閱讀 9425

簡單來說,就是可以顯示進度條的,它能夠迭代可迭代物件。

然後又測試它是否能用列舉:

感覺不行,列印不了進度條了。

from time import

sleep

from tqdm import

tqdm

values = range(3)

with tqdm(total=len(values)) as pbar:

for i in

values:

pbar.write(

'processed: %d

' %i)

print('

++++++++++\n')

pbar.update(1)

輸出:

0%|          | 0/3 [00:00, ?it/s]

processed: 0

0%| | 0/3 [00:00, ?it/s]++++++++++processed: 1

33%|███▎ | 1/3 [00:00<00:00, 11.57it/s]++++++++++

67%|██████▋ | 2/3 [00:00<00:00, 17.25it/s]

processed: 2

67%|██████▋ | 2/3 [00:00<00:00, 17.25it/s]++++++++++

100%|██████████| 3/3 [00:00<00:00, 16.98it/s]

為什麼上面0/2會出現重複呢?

但是在jupyter中就可以發現,它是非常正常的:

如果將tqdm修改為trange的話,輸出也同樣會有偶數的重複:

with trange(len(values)) as pbar:

輸出:

0%|          | 0/3 [00:00, ?it/s]

processed: 0

0%| | 0/3 [00:00, ?it/s]++++++++++processed: 1

33%|███▎ | 1/3 [00:00<00:00, 11.52it/s]++++++++++

67%|██████▋ | 2/3 [00:00<00:00, 17.75it/s]

processed: 2

67%|██████▋ | 2/3 [00:00<00:00, 17.75it/s]++++++++++

100%|██████████| 3/3 [00:00<00:00, 18.68it/s]

同樣在jupyter中也是非常正常的,是否是stdout和stderr的問題?

上面鏈結中有關於stdout和stderr的,我真的不太明白。

with tqdm(total=len(values),file=sys.stdout) as pbar:
如果新增到這一句的話,file進行重定向到stdout,那麼輸出就是藍色的,不加的話輸出就是紅色的!

在idle上和jupyter上是真的不一樣啊,這是怎麼回事呢。這個我先放一放吧。

double c中遇到的問題

今天用vc6.0和visual studio 2005分別執行了opengl紅寶書中的事例 double.c,遇到了一些簡單但是 我感覺很有用的東西。下面我簡單的說一下。第一件事情是有關 glclear 的使用.由於疏忽,我開始敲入 時將 glclear 誤輸成了glclearcolor 呵呵,娃 ...

面試中遇到的問題

ado activex data objects 是乙個用於訪問資料來源的 com元件 應用程式介面 應用程式和底層軟體互動控制的聯絡方法 超文字置標語言 英文 hypertext markup language 簡稱為 html 什麼是 超檔案傳輸協議 是網際網路上應用最為廣泛的一種網路傳輸協議。...

php中遇到的問題

warning mktime expects parameter 4 to be long,string given in e wwwroot chinesesunfish install install.php on line 238 win2003的時期格式和php的格式不大一樣 所以 post...