我有一个从matlab 2012b生成的.mat文件。它包含一个带有用户定义的matlab类的变量。访问包含python中matlab类的.mat文件
当加载在Python 3.3使用scipy.io.loadmat文件,我得到如下:
mat=scipy.io.loadmat('D:\test.mat')
mat
{'__header__': b'MATLAB 5.0 MAT-file, Platform: PCWIN64, Created on: Fri Feb 22 15:26:28 2013', '__function_workspace__': array([[ 0, 1, 73, ..., 0, 0, 0]], dtype=uint8), '__globals__': [], '__version__': '1.0', 'None': MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])}
我期待访问类型“cStream”的“futureDS”对象,但似乎无法做到所以使用mat ['None']。调用mat ['None']的简单结果如下:
MatlabOpaque([ (b'futureDS', b'MCOS', b'cStream', [[3707764736], [2], [1], [1], [1], [1]])],
dtype=[('s0', 'O'), ('s1', 'O'), ('s2', 'O'), ('arr', 'O')])
我被困在这里。我是python的新手,并尝试从matlab中移植我的旧作品。任何帮助,将不胜感激。
谢谢。
作为后记,我设法逆向工程了很多这种格式。 [见IJulia笔记本](http://nbviewer.ipython.org/gist/mbauman/9121961)了解详情。 – 2014-10-25 16:24:54