def mat_reader_factory(file_name, appendmat=True, **kwargs): """Create reader for matlab .mat format files Parameters ---------- %(file_arg)s %(append_arg)s %(load_args)s %(struct_arg)s Returns ------- matreader : MatFileReader object Initialized instance of MatFileReader class matching the mat file type detected in `filename`. """ byte_stream = _open_file(file_name, appendmat) mjv, mnv = get_matfile_version(byte_stream) if mjv == 0: return MatFile4Reader(byte_stream, **kwargs) elif mjv == 1: return MatFile5Reader(byte_stream, **kwargs) elif mjv == 2: raise NotImplementedError('Please use HDF reader for matlab v7.3 files') else: raise TypeError('Did not recognize version %s' % mjv)
def mat_reader_factory(file_name, appendmat=True, **kwargs): """Create reader for matlab .mat format files Parameters ---------- %(file_arg)s %(append_arg)s %(basename_arg)s %(load_args)s %(struct_arg)s Returns ------- matreader : MatFileReader object Initialized instance of MatFileReader class matching the mat file type detected in `filename`. """ if isinstance(file_name, basestring): try: byte_stream = open(file_name, 'rb') except IOError: full_name = find_mat_file(file_name, appendmat) if full_name is None: raise IOError, "%s not found on the path." % file_name byte_stream = open(full_name, 'rb') else: try: file_name.read(0) except AttributeError: raise IOError, 'Reader needs file name or open file-like object' byte_stream = file_name # Deal with deprecations if kwargs.has_key('basename'): warnings.warn( 'basename argument will be removed in future scipy versions', DeprecationWarning, stacklevel=2) del kwargs['basename'] mjv, mnv = get_matfile_version(byte_stream) if mjv == 0: return MatFile4Reader(byte_stream, **kwargs) elif mjv == 1: return MatFile5Reader(byte_stream, **kwargs) elif mjv == 2: raise NotImplementedError( 'Please use HDF reader for matlab v7.3 files') else: raise TypeError('Did not recognize version %s' % mjv)
def mat_reader_factory(file_name, appendmat=True, **kwargs): """Create reader for matlab .mat format files Parameters ---------- %(file_arg)s %(append_arg)s %(basename_arg)s %(load_args)s %(struct_arg)s Returns ------- matreader : MatFileReader object Initialized instance of MatFileReader class matching the mat file type detected in `filename`. """ if isinstance(file_name, basestring): try: byte_stream = open(file_name, 'rb') except IOError: full_name = find_mat_file(file_name, appendmat) if full_name is None: raise IOError, "%s not found on the path." % file_name byte_stream = open(full_name, 'rb') else: try: file_name.read(0) except AttributeError: raise IOError, 'Reader needs file name or open file-like object' byte_stream = file_name # Deal with deprecations if kwargs.has_key('basename'): warnings.warn( 'basename argument will be removed in future scipy versions', DeprecationWarning, stacklevel=2) del kwargs['basename'] mjv, mnv = get_matfile_version(byte_stream) if mjv == 0: return MatFile4Reader(byte_stream, **kwargs) elif mjv == 1: return MatFile5Reader(byte_stream, **kwargs) elif mjv == 2: raise NotImplementedError('Please use HDF reader for matlab v7.3 files') else: raise TypeError('Did not recognize version %s' % mjv)