日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

python使用tqdm模塊處理文件閱讀進度條顯示_python

作者:waws520 ? 更新時間: 2022-11-04 編程語言

問題提出

最近,使用tqdm模塊,對于大文件的閱讀進行進度監控。然而我發現有個問題,即在tqdm模塊使用一定沒錯的情況下,進度條死活打印不出來。

情況如下:

如上圖所示,這樣read file是沒有進度條顯示的。

問題解決

先說為什么,再說怎么解決。

為什么沒有進度條

tqdm模塊的進度條顯示,是依賴于已知可迭代模塊的總迭代數的。如迭代一個list,該list有支持len()方法獲取其長度,這樣,進度條才能正確顯示。

但read file的思路顯然不是這樣。因為read file的時候的迭代器,是每次閱讀以一個\n為結尾的一行內容,當沒有newline的時候,迭代器結束迭代。這樣一來,read file的迭代器肯定無法自動提供len()方法,以獲取其迭代器的iter數。

如何解決

當然就是先提前獲取行數咯。這個東西沒什么捷徑,唯一好的方法,可能就是

num_file = sum([1?for i in open("your-file-path.txt", "r")])

然后將num_file傳到tqdm中,賦值給total關鍵詞即可。

具體如圖

原文鏈接:https://juejin.cn/post/7142524361998598157

欄目分類
最近更新