def get_rec_dtype(self, **keys):
colnums = keys.get('<STR_LIT>', None)<EOL>vstorage = keys.get('<STR_LIT>', self._vstorage)<EOL>if colnums is None:<EOL><INDENT>colnums = self._extract_colnums()<EOL><DEDENT>descr = []<EOL>isvararray = numpy.zeros(len(colnums), dtype=numpy.bool)<EOL>for i, colnum in enumerate(colnums):<EOL><INDENT>dt, isvar = self.get_rec_column_descr(colnum, vstorage)<EOL>descr.append(dt)<EOL>isvararray[i] = isvar<EOL><DEDENT>dtype = numpy.dtype(descr)<EOL>offsets = numpy.zeros(len(colnums), dtype='<STR_LIT>')<EOL>for i, n in enumerate(dtype.names):<EOL><INDENT>offsets[i] = dtype.fields[n][<NUM_LIT:1>]<EOL><DEDENT>return dtype, offsets, isvararray<EOL>
Get the dtype for the specified columns

parameters
----------
colnums: integer array
    The column numbers, 0 offset
vstorage: string, optional
    See docs in read_columns