python使用tqdm模塊處理文件閱讀進度條顯示
問題提出
最近,使用tqdm模塊,對于大文件的閱讀進行進度監(jiān)控。然而我發(fā)現(xiàn)有個問題,即在tqdm模塊使用一定沒錯的情況下,進度條死活打印不出來。
情況如下:

如上圖所示,這樣read file是沒有進度條顯示的。
問題解決
先說為什么,再說怎么解決。
為什么沒有進度條
tqdm模塊的進度條顯示,是依賴于已知可迭代模塊的總迭代數(shù)的。如迭代一個list,該list有支持len()方法獲取其長度,這樣,進度條才能正確顯示。
但read file的思路顯然不是這樣。因為read file的時候的迭代器,是每次閱讀以一個\n為結(jié)尾的一行內(nèi)容,當沒有newline的時候,迭代器結(jié)束迭代。這樣一來,read file的迭代器肯定無法自動提供len()方法,以獲取其迭代器的iter數(shù)。
如何解決
當然就是先提前獲取行數(shù)咯。這個東西沒什么捷徑,唯一好的方法,可能就是
num_file = sum([1 for i in open("your-file-path.txt", "r")])
然后將num_file傳到tqdm中,賦值給total關鍵詞即可。
具體如圖

以上就是python使用tqdm模塊處理文件閱讀進度條顯示的詳細內(nèi)容,更多關于python tqdm閱讀進度條的資料請關注腳本之家其它相關文章!
相關文章
Python使用matplotlib實現(xiàn)交換式圖形顯示功能示例
這篇文章主要介紹了Python使用matplotlib實現(xiàn)交換式圖形顯示功能,結(jié)合實例形式詳細分析了Python基于matplotlib模塊的數(shù)值運算與圖形繪制相關操作技巧,需要的朋友可以參考下2019-09-09
python獲取命令行輸入?yún)?shù)列表的實例代碼
今天小編就為大家分享一篇python獲取命令行輸入?yún)?shù)列表的實例代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-06-06

