Рассмотрим следующий пример:
>>> import numpy as np
>>> a = np.array([1.0, 2.1j])
>>> b = np.array(a, dtype=np.float64)
/Users/goerz/anaconda3/bin/ipython:1: ComplexWarning: Casting complex values to real discards the imaginary part
#!/Users/goerz/anaconda3/bin/python
Как я могу поймать ComplexWarning как исключение?
Я пробовал np.seterr
, но это не имеет никакого эффекта (поскольку это касается толькок предупреждениям с плавающей запятой, таким как недопущение / переполнение).
Я также попробовал менеджер контекста with warnings.catch_warnings():
из стандартной библиотеки, но он также не имеет никакого эффекта.