[英]Logging progress of `enumerate` function in Python
我正在優化在 AWS 上運行的 Python(2.7 版;由於我需要使用舊模塊而受到限制)腳本,並試圖確定我在構建的環境中需要多少資源。 為此,當腳本運行並對不同的資源配置進行基准測試時,我將大量信息記錄到控制台。
瓶頸之一是一個包含 32,000 個項目的列表,這些項目通過 Python enumerate
函數運行。 這需要很長時間才能運行,我的腳本在完成之前對其進度視而不見。 我假設 enumerate 以某種方式循環遍歷這些項目,所以我認為我可以在該循環中注入日志記錄或打印。 我知道這是 'hacky' 但它現在對我來說很好用,因為它在我運行測試時是暫時的。
我找不到函數從哪里運行(我確實在numba
模塊中找到了一個 Enumerate 類。我嘗試在那里打印,但沒有奏效)。 我知道它是__builtin__ module
一部分,並且也無法跟蹤它,並嘗試了多種技術來找到它的確切位置,例如打印__builtin__.__file__
但無濟於事。
我的問題是,a) 你們能幫我確定函數的位置嗎,這是否是一個好方法? 或 b) 如果有更好的方法。
謝謝你的幫助!
我建議你使用 tqdm 模塊。 tqdm
tqdm 模塊用於可視化枚舉的進度。 它適用於可迭代對象(長度已知或未知)。
通過擴展 tqdm 類,您可以在任何所需的迭代次數后記錄所需的信息。 您可以在 tqdm 類文檔字符串中找到更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.