使用 Python 程式碼時,遇到警告庫的警告可能會令人沮喪,特別是如果它們與當前任務無關。這就提出瞭如何在不修改大量程式碼的情況下有效停用這些警告的問題。
對於孤立的情況,Python 文件建議使用 catch_warnings 上下文管理器。這允許您抑制特定程式碼區塊內的警告:
import warnings def fxn(): warnings.warn("deprecated", DeprecationWarning) with warnings.catch_warnings(): warnings.simplefilter("ignore") fxn() # Python 3.11 and above: with warnings.catch_warnings(action="ignore"): fxn()
雖然這種方法有效地抑制了特定函數的警告,但在處理大量警告時可能不實用。若要全域停用警告,您可以使用 warnings.filterwarnings 函數和「忽略」操作:
import warnings warnings.filterwarnings("ignore") # Ex: import warnings def f(): print('before') warnings.warn('you are warned!') print('after') f() # Prints warning warnings.filterwarnings("ignore") f() # No warning printed
此方法會在程式碼執行期間抑制所有警告。然而,需要注意的是,雖然忽略警告可以使程式碼執行更有高效,但它也可能掩蓋需要注意的潛在問題。因此,通常建議使用 catch_warnings 上下文管理器進行選擇性警告抑制,而不是全域抑制。
以上是如何在不進行大量程式碼變更的情況下有效停用 Python 警告?的詳細內容。更多資訊請關注PHP中文網其他相關文章!