如何创建只表示fi的一部分的Python文件对象

2024-09-29 23:19:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的是一个API,它要求我传入一个file对象进行读取,但是我只想传入一个现有文件的一部分,这样API只读取前n个字节。我想我可以在自己的类中包装“file”,类似于:

class FilePortion(file):
    def __init__(self, name, mode, lastByteToRead):
        self.LAST_BYTE = lastByteToRead
        super(FilePortion, self).__init__(name, mode)
    def read(self, size=None):
        position = self.tell()
        if position < self.LAST_BYTE:
            readSize = self.LAST_BYTE - position
            if size and size < readSize:
                readSize = size                
            return super(FilePortion, self).read(readSize)
        else:
            return ''

…只是我不确定要重写哪些方法,以及具体重写方式。例如,如何重写next()?有更好的方法吗?在


Tags: nameselfapisizeinitmodedefposition

热门问题