我有一个函数可以接受任意文件句柄并加载所有数据或允许延迟加载数据如果对象支持随机访问。
class DataLoader: def __init__(self, file): self.file = file self.headers = {} def load_data(self): # header is a hashable (e.g. namedtuple with name, size, offset) header = self.load_next_header() if self.file.random_access: # Return and load the data only as necessary if you can self.headers[header.name] = (header, None) self.file.seek(header.size + self.file.tell()) else: # Load the data up front if you can't self.headers[header.name] = (header, self.file.read(header.size))
如何检查文件对象是否支持随机访问?
最佳答案
您可以使用 seekable
检查文件是否支持随机访问的方法。
seekable()
Return
True
if the stream supports random access. IfFalse
,seek()
,tell()
andtruncate()
will raiseOSError
.
关于python - 如何检查文件对象是否是随机访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49376692/