Get the n data starting from the ith.

        Keyword argument:
            i -- position in file
            n -- number of structs to be retrieved (default 1)
                 Must be greater than 0.

        Return:
            A data in the format of obj_fmt, if n = 1. A list of
            structs, otherwise.

        *This method changes file.tell value.

def get(self, i, n=1):
        """Get the n data starting from the ith.

        Keyword argument:
            i -- position in file
            n -- number of structs to be retrieved (default 1)
                 Must be greater than 0.

        Return:
            A data in the format of obj_fmt, if n = 1. A list of
            structs, otherwise.

        *This method changes file.tell value.
        """
        # If there is nothing to get...
        if self.size == 0:
            return None

        if n < 1:
            return []

        # Current byte position - (n * data_size)
        offset = i * self.__strct.size

        # Set file pointer to -(#data)
        self.__file.seek(offset)

        # Unpack raw data to struct
        data = map(lambda x: self.unpack(x), self.raw(n))
        data = map(lambda x: x if len(x) > 1 else x[0], data)
        data = list(data)

        # If n is 1, return a single unpacked data.
        # Otherwise, return a list of unpacked data
        return data[0] if n == 1 else data