python使用tqdm模塊處理文件閱讀進(jìn)度條顯示
問(wèn)題提出
最近,使用tqdm模塊,對(duì)于大文件的閱讀進(jìn)行進(jìn)度監(jiān)控。然而我發(fā)現(xiàn)有個(gè)問(wèn)題,即在tqdm模塊使用一定沒(méi)錯(cuò)的情況下,進(jìn)度條死活打印不出來(lái)。
情況如下:
如上圖所示,這樣read file是沒(méi)有進(jìn)度條顯示的。
問(wèn)題解決
先說(shuō)為什么,再說(shuō)怎么解決。
為什么沒(méi)有進(jìn)度條
tqdm模塊的進(jìn)度條顯示,是依賴于已知可迭代模塊的總迭代數(shù)的。如迭代一個(gè)list,該list有支持len()方法獲取其長(zhǎng)度,這樣,進(jìn)度條才能正確顯示。
但read file的思路顯然不是這樣。因?yàn)閞ead file的時(shí)候的迭代器,是每次閱讀以一個(gè)\n為結(jié)尾的一行內(nèi)容,當(dāng)沒(méi)有newline的時(shí)候,迭代器結(jié)束迭代。這樣一來(lái),read file的迭代器肯定無(wú)法自動(dòng)提供len()方法,以獲取其迭代器的iter數(shù)。
如何解決
當(dāng)然就是先提前獲取行數(shù)咯。這個(gè)東西沒(méi)什么捷徑,唯一好的方法,可能就是
num_file = sum([1 for i in open("your-file-path.txt", "r")])
然后將num_file傳到tqdm中,賦值給total
關(guān)鍵詞即可。
具體如圖
以上就是python使用tqdm模塊處理文件閱讀進(jìn)度條顯示的詳細(xì)內(nèi)容,更多關(guān)于python tqdm閱讀進(jìn)度條的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
對(duì)Pandas DataFrame缺失值的查找與填充示例講解
今天小編就為大家分享一篇對(duì)Pandas DataFrame缺失值的查找與填充示例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11python實(shí)現(xiàn)簡(jiǎn)單名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單名片管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Pandas 缺失數(shù)據(jù)處理的實(shí)現(xiàn)
這篇文章主要介紹了Pandas 缺失數(shù)據(jù)處理的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11django使用admin站點(diǎn)上傳圖片的實(shí)例
今天小編就為大家分享一篇django使用admin站點(diǎn)上傳圖片的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤
OpenCV是一個(gè)基于BSD許可(開(kāi)源)發(fā)行的跨平臺(tái)計(jì)算機(jī)視覺(jué)庫(kù),可以運(yùn)行在Linux、Windows、Android和Mac OS操作系統(tǒng)上。這篇文章主要介紹了如何用OpenCV -python3實(shí)現(xiàn)視頻物體追蹤,需要的朋友可以參考下2019-12-12pytorch-RNN進(jìn)行回歸曲線預(yù)測(cè)方式
今天小編就為大家分享一篇pytorch-RNN進(jìn)行回歸曲線預(yù)測(cè)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01PyCharm使用matplotlib報(bào)MatplotlibDeprecationWarning問(wèn)題解決辦法
這篇文章主要給大家介紹了關(guān)于PyCharm使用matplotlib報(bào)MatplotlibDeprecationWarning問(wèn)題解決的相關(guān)資料,主要是 matplotlib版本過(guò)高導(dǎo)致的,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-06-06python?動(dòng)態(tài)導(dǎo)入模塊實(shí)現(xiàn)模塊熱更新的方法
這篇文章主要介紹了python?動(dòng)態(tài)導(dǎo)入模塊,實(shí)現(xiàn)模塊熱更新,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08