使用 MATLAB 外部接口对错误进行故障排除比较困难,因为不确定错误是在 Python 应用程序中还是在 MATLAB代码中,常见错误有:Python报告的错误,试图将 Python 数据转换为 MATLAB 数据时的错误,以及试图将 MATLAB 数据转换为 Python 数据的错误。
Python Error: Python class: message
Python Module Errors
Errors Converting Python Data
Python Error: Python class: message
MATLAB 会显示下列格式的错误信息。
Python Error: Python class: message
只有出现 Python 错误信息时,MATLAB 会显示 message。
这种错误来自Python,可以参考 Python 文档。 例如:
p = py.os.path.split(pwd); py.operator.setitem(p,int32(1),py.str('temp'));
结果:
Python Error: TypeError: 'tuple' object does not support item assignment
Python Module Errors
MATLAB 将某些 Python 错误报告为加载模块的 MATLAB 错误。更多信息,可以看这篇文章。
如果你写自己的 Python 模块或者修改已经存在模块的源代码,通过在 Python 解释器中写等效的 Python 命令来测试 MATLAB 命令。
Errors Converting Python Data
如果数据兼容,MATLAB 自动转换 Python 数据到 MATLAB 数据。某些数据类型必须进行显示转换才能调用。
比如,尽管 MATLAB 支持多维列表,你也只能在 Python 中使用数据向量的形式。
x = py.len([2 3 4; 4 5 6])
结果:
Error using py.len Conversion of MATLAB 'double' to Python is only supported for 1-N vectors.
参考资料:
1.MATLAB 官方文档:https://ww2.mathworks.cn/help/