如何消除TqdmExperimentalWarning警告?contextlib抑制无效
彻底消除TqdmExperimentalWarning警告的方法
你用contextlib.suppress没效果的原因很简单:这个工具是用来捕获异常的,而TqdmExperimentalWarning属于Python警告体系,不是异常,所以对它无效。要抑制这类警告,得用专门处理警告的warnings模块,下面是两种可行方案:
方案1:全局忽略该警告
如果整个脚本里都不想看到这个警告,可以直接在导入相关模块前设置过滤规则:
import warnings from tqdm import TqdmExperimentalWarning from tqdm.gui import tqdm_gui # 忽略指定类别的警告 warnings.filterwarnings("ignore", category=TqdmExperimentalWarning) total = 0 for i in tqdm_gui(range(100_000_000)): total += i print(total)
方案2:仅在特定代码块内抑制警告
如果只想在创建tqdm_gui的代码段里屏蔽警告,不影响其他地方的警告输出,可以用warnings.catch_warnings()上下文管理器:
import warnings from tqdm import TqdmExperimentalWarning from tqdm.gui import tqdm_gui total = 0 with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=TqdmExperimentalWarning) for i in tqdm_gui(range(100_000_000)): total += i print(total)
这两种方法都能彻底消除TqdmExperimentalWarning的输出,你可以根据需求选择。
内容的提问来源于stack exchange,提问作者sanitizedUser
相关产品推荐
相关产品推荐

