忽略其消息包含特定字符串的警告

Ignore warnings whose messages contain a specific string

我不想打印消息包含“属性”的警告。我知道我可以通过指定整个消息来忽略警告:

import warnings

warnings.filterwarnings("ignore", message="All message displayed in console.")

我需要这样的东西:

warnings.filterwarnings("ignore", message="*property*")

我也知道我可以禁用代码特定部分的警告:

import warnings

with warnings.catch_warnings():
    warnings.simplefilter("ignore")
    function_that_causes_warnings()

filterwarningsmessage参数是一个正则表达式,所以你应该可以使用

warnings.filterwarnings("ignore", message=".*property.*")

其中 .* 匹配任意字符的零次或多次出现。