簡體   English   中英

在 Python 中記錄 `enumerate` 函數的進度

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM