我正在使用一个生成警告的函数,但实际上我并不需要阅读这些警告。问题在于,我想并行运行这个函数,但是似乎无法再次抑制警告。请看以下示例:
import warnings
import numpy as np
from joblib import Parallel, delayed
def test(a, b):
if a * b > 10:
warnings.warn("You are being warned!!")
return(a*b)
ii = np.arange(5)
jj = ii + 1
with warnings.catch_warnings():
warnings.filterwarnings("ignore")
with Parallel(n_jobs=4) as parallel:
result = parallel(delayed(test)(i, j) for i, j in zip(ii, jj))
这仍然会产生警告信息... 请注意,在我的情况下,我无法重写函数test
,因为它是从另一个包中导入的。是否有任何方法可以不收到警告信息?
"ignore"
:os.environ["PYTHONWARNINGS"] = "ignore"
。 - BiBi