检查 return 值是否是 Py_None 的实例

Check if return value is instance of Py_None

我必须使用 函数 (myAPI.readArr),returns 一个标量,numpy.ndarrayPy_None 失败。

这适用于失败:

data = myAPI.readArr(arg1, arg2)
if not data:
   raise Exception("Problem!")

但是对于有效的参数我得到:

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

如何查看调用是否成功?

data = myAPI.readArr(arg1, arg2)
if data is None:
   raise Exception("Problem!")

This answer 包含有关与 None

比较的更多详细信息
if data is None:
    raise Exception("Problem!")

测试 is None 更好,因为它 returns True 当且仅当值为 None 时,而不是当它的计算结果为零时。