示例#1
0
 def open_file(self, name, *args, **kwargs):
     offset, length = self.range(name)
     if self._source:
         # Create a memoryview/buffer from the mmap
         buf = memoryview_(self._source, offset, length)
         f = BufferFile(buf, name=name)
     elif hasattr(self._file, "subset"):
         f = self._file.subset(offset, length, name=name)
     else:
         f = StructFile(SubFile(self._file, offset, length), name=name)
     return f
示例#2
0
 def open_file(self, name, *args, **kwargs):
     offset, length = self.range(name)
     if self._source:
         # Create a memoryview/buffer from the mmap
         buf = memoryview_(self._source, offset, length)
         f = BufferFile(buf, name=name)
     elif hasattr(self._file, "subset"):
         f = self._file.subset(offset, length, name=name)
     else:
         f = StructFile(SubFile(self._file, offset, length), name=name)
     return f
示例#3
0
    def open_file(self, name, *args, **kwargs):
        info = self.dir[name]
        offset = info["offset"]
        length = info["length"]

        if self.source:
            # Create a memoryview/buffer from the mmap
            buf = memoryview_(self.source, offset, length)
            f = BytesIO(buf)
        else:
            # If mmap is not available, use the slower sub-file implementation
            f = SubFile(self.file, offset, length)
        return StructFile(f, name=name)
示例#4
0
    def open_file(self, name, *args, **kwargs):
        info = self.dir[name]
        offset = info["offset"]
        length = info["length"]

        if self.source:
            # Create a memoryview/buffer from the mmap
            buf = memoryview_(self.source, offset, length)
            f = BytesIO(buf)
        else:
            # If mmap is not available, use the slower sub-file implementation
            f = SubFile(self.file, offset, length)
        return StructFile(f, name=name)
示例#5
0
 def open_file(self, name, **kwargs):
     if name not in self.files:
         raise NameError(name)
     buf = memoryview_(self.files[name])
     return BufferFile(buf, name=name, **kwargs)
示例#6
0
 def open_file(self, name, **kwargs):
     if name not in self.files:
         raise NameError(name)
     buf = memoryview_(self.files[name])
     return BufferFile(buf, name=name, **kwargs)